一、栈(先进后出)
限定头的一种线性表 (是一种逻辑结构)、只能在一端操作——插入或删除。
存储结构:
(1)顺序栈: (默认top所指位置为当前元素位置)
初始化 S.top = -1 (栈空)
栈顶元素是 S.data[S.top] (top指向栈顶元素)
进栈(push) 先移动top,后传值:S.data[++S.top] = x;
出栈(pop) 先取值,后移动top:x = S.data[S.top–];
共享栈满条件 top2 - top1 = 1 时
(2)链式栈:通常用单链表实现,并且规定所有操作都在表头进行
二、栈 选择题判断技巧
(1)抓住第一个出栈的元素,第一个入栈元素之前的元素相对位置一定不变。
如: 入栈顺序