set/map unordered_set/unordered_map适用情况

在C++中,setmapunordered_setunordered_map这四种容器的使用场景如下:

  • set:适用于需要保持元素独特性且无需特定顺序的情况。例如,存储一组唯一的用户名、IP地址等。set实现了红黑树的平衡二叉检索树的数据结构,插入元素时,它会自动调整二叉树的排列,把元素放到适当的位置,以保证每个子树根节点键值大于左子树所有节点的键值,小于右子树所有节点的键值。

  • map:适用于需要根据键来检索值的情况。例如,存储用户的信息、配置参数等。map内部实现了一个红黑树,因此map内部的所有元素都是有序的。对于map进行的查找,删除,添加等一系列的操作都相当于是对红黑树进行的操作。

  • unordered_set:适用于需要快速插入和查找的场景,需要存储唯一元素的场景。unordered_set的内部实现了一个哈希表,因此,其元素的排列顺序是无序的。

  • unordered_map:适用于需要快速插入和查找的场景,需要存储键值对并且通过键快速查找值的场景。unordered_map内部实现了一个哈希表,因此,其元素的排列顺序是无序的。

总的来说,setmap适用于需要有序存储和快速查找的场景,而unordered_setunordered_map适用于需要快速插入和查找的场景。在需要使用字典结构进行算法编程的大部分情况下,都需要使用 unordered_map 而不是 map

 
posted @   ponder776  阅读(16)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 分享4款.NET开源、免费、实用的商城系统
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
· 上周热点回顾(2.24-3.2)
点击右上角即可分享
微信分享提示