绕过中间那个之后第二个是谁

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

开始练习 →

把头换掉之后第一个是谁

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

开始练习 →

删掉中间某个人

补全 remove:把叫 target 的那个人从链上摘掉,返回新的头。删掉「小满」之后,输出第二个人的名字。(摘下来的节点先不管,下一节再讲怎么归还内存。) (本题用 g++ -std=c++17 -O0 编译。)

开始练习 →

删掉的正好是第一个

同一个 remove,这次删的是头节点。删掉「阿岚」之后,输出第一个人的名字。 (本题用 g++ -std=c++17 -O0 编译。)

开始练习 →

删尾巴再删个不在链上的

同一个 remove,连着删两次:先删最后一个「南风」,再删一个压根不在链上的「北辰」——后者必须原样返回,不能崩也不能删错人。补全后输出还剩几个人。 (本题用 g++ -std=c++17 -O0 编译。)

开始练习 →

new 出来的节点要怎么归还

第 1 步:栈上有个指针 p,还没指东西 第 2 步:new 出一块,p 指着它 第 3 步:delete 以后这块还给系统 第 4 步:p 还指着那里:悬垂指针 第 5 步:用完把 p 置成 nullptr 第 6 步:q 又 new 了

开始练习 →

delete 之前要先做什么

从链上删掉节点 cur 并 delete 它,delete 之前必须【0】。

开始练习 →

delete 之后还去读它叫什么

delete cur; 之后又去读 cur->next,这种错误叫【0】。

开始练习 →

删一个之后还剩几个没归还

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

开始练习 →

删掉并且归还内存

补全 remove:把 target 从链上摘掉,并用 drop 归还它的内存。删掉「小满」后,输出「剩下几个没归还」和链上的名字,格式如 剩3个:甲-乙-丙。 (本题用 g++ -std=c++17 -O0 编译。)

开始练习 →