为什么在 vector 末尾进出
第 1 步:数组 + 一个计数 size 第 2 步:push:写进去,size 加一 第 3 步:push:写进去,size 加一 第 4 步:pop:size 减一就算拿走了 0 4 1 top 8 2 1 栈选在 vector 的末尾
改用链表该在哪一端进出
如果用链表实现栈,进出应该放在【0】。
弹掉一个之后还剩几个
运行下面这段程序: #include <iostream> #include <string> #include <vector> using namespace std; int main() {
实现压入
补全 push,把三个人依次压进栈,然后输出栈里现在有几个。 (本题用 g++ -std=c++17 -O0 编译。)
实现弹出
补全 pop,让它拿走并返回栈顶那个。压进三个人之后弹一次,输出弹出来的是谁。 (本题用 g++ -std=c++17 -O0 编译。)
压压弹弹之后栈顶是谁
补全 push 和 pop,然后按这个顺序做:压阿岚 → 压小满 → 压阿泰 → 弹一次。做完之后输出现在的栈顶是谁。 (本题用 g++ -std=c++17 -O0 编译。)
std::stack 的 pop 返回啥
第 1 步:std::stack 里有三个 第 2 步:top():只看栈顶,不拿走 第 3 步:pop():拿走了,但不给你值 第 4 步:想要值:先 top() 再 pop() 2 6 9 top std::stack 的 pop()
取 std::stack 的栈顶
只看 std::stack 的栈顶、不拿走,用【0】。
std::stack 默认的底层容器
std::stack<int> 默认的底层容器是【0】。
弹一次之后的栈顶和个数
运行下面这段程序: #include <iostream> #include <stack> #include <string> #include <vector> using namespa