文献种类:专题技术文献;
开发工具与关键技术:
作者: ;年级: ;撰写时间: 年 月 日
文献编号: 归档时间: 年 月 日
栈和队列
开发工具与关键技术:
作者:熊琪
撰写时间:2020年5月7日
堆栈简称为栈,是限定只能在表的一端进行插入和删除操作的性表。在表中,允许插入和删除的一端称作“栈顶,另一端称作“栈底”。通常将元素插入栈顶的操称作为“入栈”(进栈或压栈),称删除栈顶元素的操作为“出栈”, (图1)图片位于最底部!
栈与队列都是特殊的线性表,栈与队列的特征:
LIFO(Last In First Out)
FIFO(First In First Out)
堆栈的基本运算如下:
(1) StackInit()初始化堆栈。
(2) StackEmpty(s) 判定栈s是否为空。
(3) StackLength(s) 求堆栈s的长度。
(4) GetTop(s) 获取栈顶元素的值。
(5) Push(s, e) 将元素e进栈。
(6) Pop(s),出栈(删除栈顶元素)。
栈有两种存储结构:(1)顺序栈——采用顺序结构存储
(2)链栈——采用链式结构存储
顺序栈的存储结构(图2):
#define MaxSize (堆栈可能达到的最大长度)
typedef struct
{ ElementType elem[MaxSize];
int top; /栈顶位置/
} SeqSt