插重复的值树不能变

同一个 insert:碰到已经存在的值,要原样返回、什么都不加。五个数插完之后再插一次 17,输出树里一共有几个节点。 (本题用 g++ -std=c++17 -O0 编译。)

开始练习 →

为什么中序正好是升序

第 1 步:中序:左、根、右 第 2 步:访问 20,收进来 第 3 步:访问 30,收进来 第 4 步:访问 50,收进来 第 5 步:访问 60,收进来 第 6 步:访问 70,收进来 第 7 步:收出来的正好是升序 50 30 70

开始练习 →

想从大到小输出怎么办(C++)

要让 BST 从大到小输出,做法是【0】。

开始练习 →

中序结果和树的形状

同一批数插成形状不同的两棵 BST,它们的中序结果【0】。

开始练习 →

中序第三个是几

还是那棵树(17、24、15、13、23 依次插入)。运行下面这段程序: #include <iostream> #include <string> #include <vector> using nam

开始练习 →

中序最后一个是几

还是那棵树(17、24、15、13、23 依次插入)。运行下面这段程序: #include <iostream> #include <string> #include <vector> using nam

开始练习 →

自己写中序

补全 mid:按左、根、右的顺序把值收进 out。补全后输出中序的第一个。 (本题用 g++ -std=c++17 -O0 编译。)

开始练习 →

用中序判断是不是 BST

补全 is_bst:中序走一遍,看结果是不是严格升序。这次判的就是那棵正常建出来的树。 (本题用 g++ -std=c++17 -O0 编译。)

开始练习 →

从大到小走一遍

补全 rev:按右、根、左的顺序走,出来就是降序。补全后输出降序的第一个。 (本题用 g++ -std=c++17 -O0 编译。)

开始练习 →

删一个叶子(C++)

要删的节点是叶子(左右都空),做法是【0】。

开始练习 →