栈的类型定义:
ADT Stack {
数据对象:
D = {ai|ai∈ElemSet, i=1,2,...,n,n>=0}
数据关系:
R1={<ai-1,ai>|ai-1,ai∈D,i=2,...,n}
基本操作:初始化、进栈、出栈、取栈顶元素等
}ADT Stack
顺序栈的表示和实现:
存储方式:同一般线性表的顺序存储结构完全相同。利用一组地址连续的存储单元依次存放自栈底到栈顶的数据元素。栈底一般在低地位置
但是,为了方便操作,通常top指针指示真正的栈顶元素之上的下标地址。
另外,用StackSize表示栈可使用最大容量

空栈:base==top是空栈标志
栈满:top-base==StackSize(如不溢出则top-base<StackSize)
栈满时想继续压入元素的处理方法:
使用数组作为顺序栈的存储方式的特点: