换成 vector 当底层
运行下面这段程序: #include <iostream> #include <stack> #include <string> #include <vector> using namespa
用 std::stack 压三个弹一个
补全:用 std::stack<string> 依次压入阿岚、小满、阿泰,弹一次,然后输出栈顶。 (本题用 g++ -std=c++17 -O0 编译。)
先 top 再 pop
补全 take:从 std::stack 里拿走栈顶并返回它(pop 不返回值,所以要先 top)。连拿两次,输出「第一次-第二次」,格式如 甲-乙。 (本题用 g++ -std=c++17 -O0 编译。)
用 vector 当底层求和
补全:声明一个底层容器是 vector 的 stack<int, vector<int>>,压入 1 到 5,再边弹边加,输出总和。 (本题用 g++ -std=c++17 -O0 编译。)
用 std::stack 查括号
补全 ok:用 std::stack<char> 检查三种括号是否配平。检查 {[()]}。 (本题用 g++ -std=c++17 -O0 编译。)
用 std::stack 倒过来
补全:把字符串 stack 的每个字符压进 std::stack<char>,再一个个弹出拼起来,输出拼好的字符串。 (本题用 g++ -std=c++17 -O0 编译。)
只看栈顶不拿走
第 1 步:栈里只剩一个 第 2 步:弹掉之后,一个都不剩 第 3 步:再弹:没有东西可拿了 第 4 步:所以动手前先问 empty() 5 top 只看栈顶是什么、但不把它拿走,这个操作一般叫【0】。
查看栈顶和弹出差在哪(C++)
查看栈顶和弹出的区别是【0】。
对空栈弹出会怎样
C++ 里 vector 已经空了还去 back() / pop_back(),结果是【0】。
怎么判断一个栈是空的(C++)
判断栈是不是空的,最直接的办法是【0】。