map是c提供的相关容器,可以方便地访问键值对。
例如:
map IdNameMap{{1,' Zhao'}、{3,' Sun'}、{2,' Qian'}};
map的底层实现为红黑树,它是一种自平衡的双股排序树。 map中的元素将根据键值进行“排序”。
对于上面的这个IdNameMap,遍历它时,输出如下。
1赵国
2前
3 Sun
这满足了需要对数据进行排序的APP应用程序的需要,并且足够高效。
但是,它可能比双叉排序树更快,只是key可以“快速”检索值,而无需对数据进行排序。
c 11为我们提供了无序的容器。 unordered_map、unordered_set等。
unordered_map的用法与map一致,在其中使用散列算法,因此“更快”。
unordered_map IdNameUMap{{1,' Zhao'}、{3,' Sun'}、{2,' Qian'}};
遍历此IdNameUMap时,将获得与以下示例类似的输出:
2前
1赵国
3 Sun
可能与插入顺序不同,也可能与key的大小顺序不同。
可能需要这些【参考资料】。
零集成流|请参考it原始文章,注明来源:3358 www.it-refer.com/2020/06/07/cplusplus-11-unordered _ map