北辰最后坐在哪一格
同样的四个人、同样的顺序。运行下面这段程序: #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 编译。)