北辰最后坐在哪一格

同样的四个人、同样的顺序。运行下面这段程序: #include <iostream> #include <string> #include <utility> #include <vector>

开始练习 →

实现线性探测的插入

补全 put_key:算出槽位,那一格有人就往后绕着找空格。按 17、24、15、23 的顺序放完之后,输出 23 号最后坐在哪一格。 (本题用 g++ -std=c++17 -O0 编译。)

开始练习 →

查找也要顺着探测链走

补全 find_key:从算出的槽位开始往后找,遇到空格才算没有。查 23 号,补全后输出它在哪一格。 (本题用 g++ -std=c++17 -O0 编译。)

开始练习 →

表满了还往里塞会转不停

开放寻址最危险的一点:表满了之后,「往后找空格」这个循环永远不会停。补全 put_key,满了就返回 表已满,放好返回 已放下。一张 4 格的表塞 5 个人,输出第 5 次的结果。 (本题用 g++ -std=c++17 -O0 编译。)

开始练习 →

查找的第一步永远是什么

不管用哪种冲突处理,查找的第一步永远是【0】。

开始练习 →

链地址法下怎么删

第 1 步:第 7 格里挂着 15 和 23 第 2 步:要删 15:在这一串里找到它 第 3 步:第 7 格改指 23,15 删掉 第 4 步:同一格的 23 一点没受影响 15 23 ∅ 第7格 链地址法下删掉一条记录,做法是【0】。

开始练习 →

开放寻址删除要留个什么

开放寻址下删掉一条,通常要在原地留一个【0】。

开始练习 →

删掉一个之后还剩几条

运行下面这段程序(链地址法,五个人): #include <iostream> #include <string> #include <utility> #include <vector> u

开始练习 →

增:写一个 put_row

补全 put_row(链地址法)。放完五个人之后,输出表里一共有几条。 (本题用 g++ -std=c++17 -O0 编译。)

开始练习 →

查:写一个 get_name

补全 get_name,查 23 号。注意第 7 格里有两个人,不能拿到第一个就返回。 (本题用 g++ -std=c++17 -O0 编译。)

开始练习 →