太原理工大学有一门数据结构的精品课程,课程给出了栈和队列、线性表、树、图以及查找和排序的算法演示过程。 http://www.tyut.edu.cn/kecheng1/site01/suanfayanshi/default.asp图: (1)拓扑排序算法思想:选一个入度为 0 的顶点输出,并...
分类:
编程语言 时间:
2015-08-06 16:38:35
阅读次数:
151
参考《21天学通C++》第23与第24章节,对STL算法与自适应容器进行介绍。
实际上在前面的STL顺序容器、关联容器进行介绍时或多或少引用到了一些STL算法中的模板函数。而自适应容器是在顺序容器的基础上按照stack、queue的性质进行定制实现的。所以,本篇博文将言简意赅地总结出需要掌握的纲要。
一、STL算法
查找、搜索、删除、计数、排序等都是一些通用算法,STL通过模板函数提供了这些...
分类:
编程语言 时间:
2015-08-06 15:11:40
阅读次数:
186
题目描述
对于一个基于二元运算符的后缀表示式(基本操作数都是一位正整数),求其代表的算术表达式的值。
输入
输入一个算术表达式的后缀式字符串,以‘#’作为结束标志。
输出
求该后缀式所对应的算术表达式的值,并输出之。
示例输入
59*684/-3*+#
示例输出
57
提示
基本操作数都是一位正整数!
#include
#include
#define N ...
分类:
其他好文 时间:
2015-08-06 09:31:40
阅读次数:
193
/**
* 功能:用两个栈来实现一个队列。
*/
import java.util.*;
/**
* 思路:需要修改peek()和pop(),以相反顺序执行操作。可以利用第二个栈来反转元素的次序。
* stackNewest顶端为最新元素,stackOldest顶端为最旧元素,利用两个栈的元素的转移来实现。
*
*/
public class MyQuene1 {
...
分类:
其他好文 时间:
2015-08-04 19:26:51
阅读次数:
132
/**
* 功能:汉诺塔问题
* 描述:有3根柱子及N个不同大小的穿孔圆盘,盘子可以滑入任意一根柱子。一开始,
* 所有盘子自底向上从大到小依次套在第一根柱子上(即每一个盘子只能放在更大的盘子上面)。
* 移动圆盘时有以下限制:
* 1)每次只能移动一个盘子。
* 2)盘子只能从柱子顶端滑出移到下一根...
分类:
其他好文 时间:
2015-08-04 17:16:24
阅读次数:
122
定义抽象节点类Node:
package cn.wzbrilliant.datastructure;
/**
* 节点
* @author ice
*
*/
public abstract class Node {
private Node next;
public Node(){
next=null;
}
public void setNext(Node next...
分类:
编程语言 时间:
2015-08-04 00:43:53
阅读次数:
133
定义抽象节点类Node: 1 package cn.wzbrilliant.datastructure; 2 3 /** 4 * 节点 5 * @author ice 6 * 7 */ 8 public abstract class Node { 9 private Node ne...
分类:
编程语言 时间:
2015-08-04 00:37:43
阅读次数:
130
写在前面在项目中,对数组的操作还是比较常见的,有时候,我们需要模拟栈和队列的特性才能实现需求,这里记录一下这个知识点。栈栈(stack)又名堆栈,它是一种运算受限的线性表。其限制是仅允许在表的一端进行插入和删除运算。这一端被称为栈顶,相对地,把另一端称为栈底。向一个栈插入新元素又称作进栈、入栈或压栈...
分类:
编程语言 时间:
2015-08-01 11:16:16
阅读次数:
281
STL 中优先队列的使用方法(priority_queu)
基本操作:
empty() 如果队列为空返回真
pop() 删除对顶元素
push() 加入一个元素
size() 返回优先队列中拥有的元素个数
top() 返回优先队列对顶元素
在默认的优先队列中,优先级高的先出队。在默认的int型中先出队的为较大的数。
使用方法:
头文件:
#include
声...
分类:
其他好文 时间:
2015-07-28 18:53:33
阅读次数:
90
链表常见题型(java版)
栈和队列常见题型(java版)...
分类:
编程语言 时间:
2015-07-28 18:29:18
阅读次数:
133