🐵指尖猴全新升级
第13课:栈的概念
🥞

栈的概念

后进先出,叠盘子的大学问!

📖知识引入

🥞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课完成!继续探索下一课吧 🚀