一、栈的基本概念栈(stack):限定在表尾进行插入和删除操作的线性表。
栈顶(top):允许进行插入和删除操作的一端,又称表尾。
栈底(bottom):固定端,又称表头。
空栈:不含元素的空表称为空栈。
插入元素的操作称为入栈(压栈)。
删除元素的操作称为出栈(弹栈)。
顺序存储的栈称为顺序栈。
链式存储的栈称为链栈。设栈S=(a1,a2,...an),则a1称为栈底元...
分类:
其他好文 时间:
2015-08-25 14:19:51
阅读次数:
125
// _DataStructure_C_Impl:顺序栈
#include
#include
#define StackSize 100
typedef char DataType;
typedef struct{
DataType stack[StackSize];
int top;
}SeqStack;
//将栈初始化为空栈只需要把栈顶指针top置为
void InitStack(SeqS...
分类:
其他好文 时间:
2015-08-04 00:43:32
阅读次数:
94
经过数据结构(二)系列文章,已经把线性结构中最常用的数据结构进行了介绍,包括顺序存储结构中顺序表、顺序队列和顺序栈,链式存储结构中的链表、链栈和链队列。线性结构是数据结构中最为常见也最简单的逻辑结构。下面将进入非线性逻辑的数据结构部分,还记得下面的一副数据结构的分类图吧,对于非线性逻辑,主要介绍树和图。本文主要先针对树进行复习和总结,后续的博文将逐渐深入到图等更为复杂的非线性逻辑数据结构。
...
分类:
其他好文 时间:
2015-07-29 14:03:31
阅读次数:
171
栈的顺序存储结构#define STACK_INIT_SIZE 10
#define STACK_INCREMENT 2struct SqStack//顺序栈
{
SElemType *base;//在栈构造指针之前和销毁之后,base值为NULL
SElemType *top;//栈顶指针
int stacksize;//当前已分配的存储空间,以元素为单位
};栈的9个基本...
分类:
其他好文 时间:
2015-07-23 17:43:36
阅读次数:
137
上一篇博文中主要总结线性表的顺序存储结构实现,比如顺序表、顺序队列和顺序栈。具体可以参考上篇博文
http://blog.csdn.net/lg1259156776/article/details/46993591
下面要进行学习和总结的是线性表的链式存储结构实现,比如链表和链队列。
顺序存储结构的优缺点
优点是逻辑相邻,物理相邻,可随机存取任一元素,存储空间使用紧凑;缺点是插入、删除...
分类:
其他好文 时间:
2015-07-23 11:59:49
阅读次数:
166
书上的例子 1 #include /*顺序栈*/ 2 using namespace std; 3 #define size 50 4 typedef struct node 5 { 6 int data[size][2]; /*每一层参数+当前返回值*...
分类:
其他好文 时间:
2015-07-22 22:06:02
阅读次数:
86
书上的 1 #include 2 using namespace std; 3 #define stacksize 10 4 typedef struct /*顺序栈*/ 5 { 6 int stack[stacksize]; 7 int top; ...
分类:
其他好文 时间:
2015-07-21 16:38:51
阅读次数:
100
栈的定义:(特殊的线性表)??仅在表的一端进行插入和删除的线性表。允许插入、删除的这一端称为栈顶,另一端称为栈底。表中没有元素时称为空栈。??被称为后进先出的线性表(Last In First Out),简称 LIFO表,或被称为先进后出的线性表(First In Last Out),简称 FILO表。??栈更具存储方式的不同分为两种:顺序栈和链栈。顺序栈:
和顺序表一样,顺序栈也采用数组来存放数据...
分类:
编程语言 时间:
2015-07-21 10:47:55
阅读次数:
242
顺序栈类的代码:package sequencestack;public class SequenceStack { private int STACK_INIT_SIZE = 5;//栈的原始大小 private int INCREMENT =1;//栈的增量大小 private Objec...
分类:
编程语言 时间:
2015-07-13 23:53:18
阅读次数:
183
前面学习了java实现顺序栈:http://www.cnblogs.com/lixiaolun/p/4644134.html接下来,学习java实现链栈。链栈类代码:package linkedstack;public class LinkStack { private Element base;....
分类:
编程语言 时间:
2015-07-13 23:51:10
阅读次数:
145