用 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 编译。)

开始练习 →