at() 越界会抛什么
用 at() 取一个超出范围的下标,会抛出【0】。
越界会走哪个分支
运行下面这段程序: #include <iostream> #include <string> #include <vector> using namespace std; #include <s
只有一个人时反转
运行下面这段程序: #include <iostream> #include <string> #include <vector> using namespace std; #include <u
判断这排是不是空的
补全 is_empty,然后输出一个新座位排是不是空的。 (本题用 g++ -std=c++17 -O0 编译。)
取之前先挡住越界
补全 get:下标合法就返回那个人,不合法返回「越界」。这次取的下标是 9,补全后输出结果。 (本题用 g++ -std=c++17 -O0 编译。)
空表上删除也不能崩
补全 remove_at:空表或下标不合法时返回「不能删」,否则删掉并返回「已删」。这次在空表上删,补全后输出结果。 (本题用 g++ -std=c++17 -O0 编译。)
三种边界一起验
把三个边界一起验一遍:空表是空的、越界取返回「越界」、空表删返回「不能删」。三条全过输出 全部通过,否则输出 有失败。 (本题用 g++ -std=c++17 -O0 编译。)
完整顺序表至少要有什么
手写一个能用的顺序表,至少要有【0】。
size 和容量的区别
第 1 步:容量 2,先放两个 第 2 步:放满了 第 3 步:再放就先扩容:2 变 4 第 4 步:扩完再放第 3 个 3 7 5 size 和「容量」的区别是【0】。
放三个人之后 size 是多少
运行下面这段程序: #include <iostream> #include <string> #include <vector> using namespace std; struct SeatRow