栈的基本概念

文章发布时间:

最后更新时间:

记录时间:2022-08-07 11:40

栈,只允许在一端插入或者删除。特性 LEFO(后进先出)
进/出栈 - 出栈会删除栈顶元素
读栈顶元素-不删除(这就是查)
判空等等……
常考题型:进栈顺序判断(又进又出的情况)

顺序栈

创销增删改查。

  1. 初始化 - 和顺序表基本一致 + 栈顶指针(默认 -1)
  2. 入栈(先让指针 +1,新元素入栈)
    ++i 和 i++的区别:前者先让它加了再用值,后者是先用了再加,除了和初始有关以外其他情况应该没有什么区别。
  3. 出栈 (返回bool 得到对应元素) - 出栈后下移,逻辑消失

初始化如果默认为 0 的时候,top指向下一个位置
缺点 - 栈大小不可变
共享栈:在初始化栈的时候,把两端都当指针用。两头截胡(栈满需要有部分修改)
所有操作时间复杂度均为 O(1)
【代码实现已经完毕】

链栈