自己实现删除指定位置

补全 remove_at:把下标 i 上的人请走,后面的整体往前补一位。删掉下标 1 之后,只输出下标 1 上的人。 (本题用 g++ -std=c++17 -O0 编译。)

开始练习 →

坐满了再来人怎么办

第 1 步:4 格全满,再来一个放不下 第 2 步:new 一块两倍长的:8 格 第 3 步:按原顺序搬第 1 个 第 4 步:按原顺序搬第 2 个 第 5 步:按原顺序搬第 3 个 第 6 步:按原顺序搬第 4 个 第 7 步:旧的那块

开始练习 →

一般扩成原来的几倍(C++)

扩容时,常见的做法是把容量扩成原来的【0】。

开始练习 →

为什么不每次只加一个

每次满了只扩一个位置,问题在于【0】。

开始练习 →

现在还剩几个空位

运行下面这段程序: #include <iostream> #include <string> #include <vector> using namespace std; struct SeatRow

开始练习 →

扩容之后容量变成多少

运行下面这段程序: #include <iostream> #include <string> #include <vector> using namespace std; int main() {

开始练习 →

判断这排还坐得下吗

补全 is_full:坐满了返回 true,还有空位返回 false。放进 4 个人之后(容量 4),输出它是不是满了。 (本题用 g++ -std=c++17 -O0 编译。)

开始练习 →

实现扩容换一排两倍长的

补全 grow:另开一排两倍长的座位,把人按原顺序搬过去,旧的那排用 delete[] 还回去。扩容之后只输出新的总座位数。 (本题用 g++ -std=c++17 -O0 编译。)

开始练习 →

搬完之后人还在原位吗

同一个 grow。扩容不能打乱顺序。把 4 个座位坐满、扩容、再放进「北辰」,然后输出「下标 2 上的人/现在几个人」,格式如 甲/5。 (本题用 g++ -std=c++17 -O0 编译。)

开始练习 →

原生数组和 vector 的区别

int a[5]; 和 vector<int> v(5); 最大的区别是【0】。

开始练习 →