看一眼之后还剩几个
运行下面这段程序: #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 编译。)
括号匹配为什么用得上栈
第 1 步:从左往右扫这一串 第 2 步:{ 是左括号:压栈 第 3 步:[ 是左括号:压栈 第 4 步:( 是左括号:压栈 第 5 步:) 配上栈顶:一起消掉 第 6 步:] 配上栈顶:一起消掉 第 7 步:} 配上栈顶:一起消掉 第 8
扫到一个右括号该做什么(C++)
从左往右扫,遇到右括号时应该【0】。
扫完之后栈里还剩东西
扫完整个字符串,栈里还剩着东西,说明【0】。
扫完之后栈里剩几个
运行下面这段程序: #include <iostream> #include <string> #include <vector> using namespace std; int main() {
只有小括号的匹配
补全 ok:只有 ( 和 ),配得上返回 true,配不上返回 false。这次检查的是 (())。 本节约定:ok 配得上返回 true,配不上返回 false,输出用 boolalpha 打成 true / false。 (本题用 g+
少关了一个
同一个 ok,这次检查的是 (()——有一个左括号没关上。 本节约定:ok 配得上返回 true,配不上返回 false,输出用 boolalpha 打成 true / false。 (本题用 g++ -std=c++17 -O0 编译。)