用 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】。
看一眼之后还剩几个
运行下面这段程序: #include <iostream> #include <string> #include <vector> using namespace std; int main() {
用 at() 取空栈会抛什么
运行下面这段程序,它把捕获到的异常类型打出来。at() 会检查下标,越界就抛异常: #include <iostream> #include <string> #include <vector> usin
空栈也能安全看一眼
补全 is_empty 和 peek:栈空时 peek 返回 空栈,否则返回栈顶。这次看的是一个刚建好、什么都没放的栈。 (本题用 g++ -std=c++17 -O0 编译。)
弹过头也不能崩
补全 safe_pop:栈空时返回 空栈,否则正常弹出并返回。压进两个人,然后连弹三次,输出第三次的结果。 (本题用 g++ -std=c++17 -O0 编译。)