c++ STL之unordered_set

unordered_set的特点:

  1. 自身值就是主键,所以值唯一并且不可修改
  2. 基于hash表的无序排列

unordered_set基于哈希表,是无序的。

在一个 unordered_set 容器中,元素的值同时可以用来标志对应的元素(即值是自身的主键),每个值必须是唯一的。主键是不可修改的,因此在 unordered_set 中的元素不能被逐个修改(所有元素保持恒定),但是可以删除某个元素或插入新的元素。

在 unordered_set 内部,元素不会按任何顺序排序,而是通过元素值的 hash 值将元素分组放置到各个槽(Bucket,也可译成“桶”)中,这样就能通过元素值快速地访问各个对应的元素(平均耗时为一个常量,即时间复杂度为 O(1))。

在访问容器中的某个元素时,unordered_set 容器比 set 容器高效,而在迭代容器元素的某个子集时,前者比后者稍微低效了一点。

 

 

参考文章:http://classfoo.com/ccby/article/qNNOJ

https://blog.csdn.net/vevenlcf/article/details/51743058

原文链接: https://www.cnblogs.com/xiaoxue126/p/8984830.html

欢迎关注

微信关注下方公众号,第一时间获取干货硬货;公众号内回复【pdf】免费获取数百本计算机经典书籍

    c++ STL之unordered_set

原创文章受到原创版权保护。转载请注明出处:https://www.ccppcoding.com/archives/273259

非原创文章文中已经注明原地址,如有侵权,联系删除

关注公众号【高性能架构探索】,第一时间获取最新文章

转载文章受原作者版权保护。转载请注明原作者出处!

(0)
上一篇 2023年2月14日 下午11:27
下一篇 2023年2月14日 下午11:28

相关推荐