1.简单的说,栈就是只在一个位置上进行插入和删除操作的表,而这个特殊的位置就是表的末端,但这却不被成为栈的末端,而是顶(Top)。2.栈的基本操作时进栈和出栈,英文名分别是push和pop,分别相当于插入和删除。切记对空栈进行pop和top操作在栈ADT被认为是错误的,而如果push在空间之外进行操作也是有实现限制的,但这并不是ADT错误。3.栈的特点是后进先出,对于学生来说可能用食堂里堆砌起来的餐...
分类:
其他好文 时间:
2015-05-08 09:34:12
阅读次数:
112
对于栈的理解,早就在上C++课的时候,程老师就给我们做过简单的介绍和使用,今年接触了数据结构这本书,有了一个全面的学习,不得不说是一本很难啃的一本书,但是为了写出更好的程序代码,这门课是在所难免的。
在数据结构中,栈是一类重要的抽象数据类型。从数据结构角度看,栈也是一种线性结构,属于线性表,其特殊性在于栈的基本操作是线性表操作的子集,它是操作受限的线性表。从数据类型角度看,它和线...
分类:
其他好文 时间:
2015-04-14 08:35:27
阅读次数:
202
学过数据结构的程序猿应该都清楚,栈是一种先入后出,后入先出(LIFO)的表。即插入和删除都只能在一个位置上进行,即栈顶位置。对栈的基本操作有Push(入栈)和Pop(出栈)。在一般软件研发的笔试中,就会经常遇到关于入栈次序一定时,出栈次序有哪些?共有几种?
其实,此处只要了解一下卡特兰数的算法结构,参见:
http://baike.baidu.com/link?url=T7ZR16yiaWKN...
分类:
其他好文 时间:
2015-04-05 17:36:45
阅读次数:
143
栈是限定仅在表尾进行插入或者删除操作的线性表。各位也可以到360云盘中下载完整程序,运行环境为vc++6.0http://yunpan.cn/cVKkv9fmsp4wB 访问密码 b7371 typedef struct2 {3 SelemType *base;4 SelemType...
分类:
编程语言 时间:
2015-04-05 11:50:40
阅读次数:
170
#include#include#include//定义节点struct Node{ int data; struct Node *next;};typedef Node StackNode;//定义栈 struct Stack{ StackNode *top; StackN...
分类:
编程语言 时间:
2015-03-22 00:19:50
阅读次数:
169
—、单项选择题1.栈和队列具有相同的( )。 A.抽象数据类型 B.逻辑结构 C.存储结构 D.运算2.栈是()。 A.顺序存储的线性结构 B.链式存储的非线性结构 C.限制存取点的线性结构 D.限制存储点的非线性结构3.()不是栈的基本操作。 A.删除栈顶元素 B.删除栈底...
/****date:2014.12.08*****/
/***顺序栈的基本操作***/ /*** Last in First out ( LIFO ) ***/
顺序栈:使用地址连续的内存单元依次保存栈中的数据,可以定义一个指定大小的结构数组来作为栈;栈底元素序号为0,栈顶元素序号为Top;
栈内元素遵循“后进先出“(LIFO)原则;只能在栈的一端进行操作,即在栈顶位置对栈内元素进行操作。
...
分类:
其他好文 时间:
2014-12-10 00:36:00
阅读次数:
242
栈和队列都是动态集合,元素的出入是规定好的。栈规定元素是先进后出(FILO),队列规定元素是先进先出(FIFO)。栈和队列的实现可以采用数组和链表进行实现。在标准模块库STL中有具体的应用,可以参考http://www.cplusplus.com/reference/。
栈的基本操作包括入栈push和出栈pop,栈有一个栈顶指针top,指向最新如栈的元素,入栈和出栈操作操作都是从栈顶端进...
分类:
编程语言 时间:
2014-11-24 10:11:18
阅读次数:
155
栈是 一种特殊的线性表,他只能从栈顶操作(输入和输出,删除,插入)。占位内无元素的为空栈。栈的基本操作有:进栈(栈顶插入),出栈(删除栈顶),建立栈(初始化栈),判断栈是否为满或空,取栈顶元素等运算。1.InitStrack(S) 初始化栈为空2.ClearStack(S)把栈置为空3.IsEmpt...
分类:
其他好文 时间:
2014-11-17 21:10:30
阅读次数:
132