本文截图于王道视频,用于作笔记记录。
顺序栈与链栈
一、 顺序栈
1.1 初始化顺序栈
栈的结构与栈的初始化
1.2 进栈操作
- 因为栈顶指针 top始终指向的栈顶元素, 所以在进栈的时候一定要先移动top 即值增1,再将元素放进去!
1.3 出栈操作
- 出栈操作先获取栈顶元素,再将栈顶指针的值减一!与进栈成相反思路。
1.4 读取栈顶元素
- 与出栈操作唯一的不同就是,这个只需要获取栈顶元素, 栈顶指针不用改变
1.5 判断栈是否为空
特别点——就是注意top是指向栈顶元素还是栈顶元素的下一个位置
- ⭐如果是指向栈顶下一个位置
- 进栈是 先赋值,top后自增了 : data[top++]
- 出栈是 先自减,再获取值 : data[–top]
- 如果是指向栈顶元素
- 进栈是 top先自增, 然后再赋值 : data[++top]
- 出栈是 先获取,再自减去 : data[top–]