栈和队列都是特殊的线性表,因此定义栈和队列与之前的线性表异曲同工:
顺序栈
顺序栈的架构
顺序栈的特点
top=0 或top=base 表示空栈
base=NULL表示栈不存在
当插入新的栈顶元素时,指针top+1
删除栈顶元素时,指针top-1
当top>stacksize时,栈满,溢出
注意,此处的top栈顶指针是指向栈顶元素的下一个元素,也有一种说法是指向栈顶元素,两种都可,此处采用前者
1、创建栈
或
typedef int SElemType;
typedef struct{
SElemType data[MAXSIZE];
int top;//栈顶指针
}
或使用STL库的栈