第13课:栈的概念
进度 0/24
🥞
栈的概念
后进先出,叠盘子的大学问!
📖知识引入
🥞LIFO原则
后进先出:最后放上去的盘子最先被拿走,栈就这脾气
⬆️push入栈
把元素压到栈顶,像往盘子堆上再放一个盘子
⬇️pop与top
pop弹出栈顶元素,top只看不拿,栈顶永远是唯一出口
💡生活原型
浏览器后退、编辑器撤销、函数调用,背后都藏着栈
💡
stack<int> st; 直接用STL,st.push(x)入、st.top()看顶、st.pop()出,先判st.empty()防翻车
🔍STL栈初体验
stack<int> st;
st.push(1); // 栈: 1
st.push(2); // 栈: 1 2(2在顶)
st.push(3); // 栈: 1 2 3(3在顶)
cout << st.top() << endl; // 输出 3,栈顶元素
st.pop(); // 弹出 3
cout << st.top() << endl; // 输出 2,新栈顶
cout << st.size() << endl; // 还剩 2 个元素进出都发生在栈顶,后进的3最先离开,这就是LIFO
🎯小测验
第1题:栈的操作原则是什么?
第2题:依次push 1 2 3后执行一次pop,栈顶变成?
第3题:下列哪个功能最可能用栈实现?
📝本课知识点
- ✓栈=后进先出LIFO
- ✓只认栈顶:push、pop、top
- ✓撤销与回退都靠栈
第13课完成!继续探索下一课吧 🚀
