栈:只允许在表尾进行插入和删除的线性表 后进先出(Last In First Out)LIFO结构
( 注意:线性表的存储方式分为顺序存储和链式存储)
操作方式:
1)进栈
栈的压入,也称压栈、入栈 push
2)出栈
栈的删除 pop
其中进栈出栈有多种变化方式:例如可以同时入栈123再出栈,也可以单个入再单个出例如入1出1再继续
栈的存储方式:
顺序存储
缺点:需要事前确定数组的存储空间
空栈的判断条件:top=-1
进栈操作:
出栈操作:
两栈共享存储空间
适用情况:例如一栈增长另一栈缩短
分为top1和top2
栈为空的判断条件:栈1为空时top1=-1;栈2为空时top2=n
栈满情况:top1+1=top2
进栈操作:
出栈操作:
栈的链式存储结构
不需要头结点
适用于栈的空间大小不可预料情况
链栈为空的判断条件是top=NULL
进栈操作
注意大写S和小写s S为指向链栈指针的结构 s为链表结点
出栈操作