首页 > 编程语言 > 详细

c++ STL之unordered_set

时间:2018-05-03 13:49:57      阅读:207      评论:0      收藏:0      [点我收藏+]

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

c++ STL之unordered_set

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

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!