删:写一个 del_key
补全 del_key:从那一格的串里把这个键去掉。删掉 15 号之后,输出第 7 格里还剩几个。 (本题用 g++ -std=c++17 -O0 编译。)
三个操作串起来验一遍
把 put_row / get_name / del_key 都写出来,然后验三条:放完五个人,get_name(23) 是「北辰」;删掉 15 号之后,get_name(15) 是「没这个人」;删完之后 get_name(23) 还是「北
unordered_map 底层是什么
第 1 步:unordered_map:按桶放 第 2 步:遍历顺序跟着桶走,说不准 第 3 步:map:红黑树,遍历从小到大 42 7 19 3 3 7 19 42 std::unordered_map 的底层是【0】。
要按键有序输出该选哪个
要把所有记录按键从小到大遍历输出,应该选【0】。
只想判断在不在别用 m[k]
只想判断键 k 在不在,却写成 if (m[k]),它的副作用是【0】。
map 的遍历顺序
运行下面这段程序: #include <iostream> #include <string> #include <utility> #include <vector> using names
m[k] 悄悄插了一条
运行下面这段程序: #include <iostream> #include <string> #include <utility> #include <vector> using names
用 unordered_map 数词频
补全:用 unordered_map<string, int> 统计每个词出现几次,输出出现最多的那个词。 (本题用 g++ -std=c++17 -O0 编译。)
用 map 按分数从低到高统计
补全:用 map<int, int> 统计每个分数出现几次,再按分数从低到高输出「分数:次数」,用逗号隔开。 (本题用 g++ -std=c++17 -O0 编译。)
查在不在别把表撑大
补全:表里本来有 3 个键。依次判断 1 到 5 在不在表里,统计在的有几个;判断时不许往表里插东西。输出「在的个数/判断完之后表的大小」,格式如 2/3。 (本题用 g++ -std=c++17 -O0 编译。)