栈(Stack):是限制在表的一端进行插入和删除操作的线性表。又称为 后进先出LIFO (Last In First Out)或先进后出FILO (First In Last Out)线性 表。
栈顶(Top):允许进行插入、删除操作的一端,又称为表尾。用栈顶指 针(top)来指示栈顶元素。
栈底(Bottom):是固定端,又称为表头。
空 栈:当表中没有元素时称为空栈。
栈的抽象数据类型定义 ADT Stack{ 数据对象:D ={ ai|ai∈ElemSet, i=1,2,…,n,n≥0 }
数据关 系:R ={|ai-1,ai∈D, i=2,3,…,n }
基本操作:初始化、进栈、出 栈、取栈顶元素等 } ADT Stack
栈的基本运算包括: (1)置空栈SETNULL(S) (2)判栈空 EMPTY(S):布尔函数 (3)入栈PUSH(S,x) (4)出栈POP(S) (5)取栈顶TOP(S) 3.1.3 栈的顺序存储表示 栈的顺序存储结构简称为顺序栈,和线性表相类似,用一维数组来存 储栈。
◆ 静态顺序栈 实现简单,但不能根据需要增大栈的存储空间;
◆ 动态顺序栈 可以根据需要增大栈的存储空间,但实现稍为复杂。