C++标准库:关联容器(set、map、unordered、multi)

来源:互联网 发布:软件设计方案书 编辑:程序博客网 时间:2024/06/01 08:05

set:

std::set是一个关联容器,是一个有序的集合,集合中包含不可重复的、类型为Key的元素。排序通过使用类型为Compare的比较函数比较来实现。搜索,删除和插入操作具有对数时间复杂度。set通常实现为红黑树

  • 成员类型:
    这里写图片描述

  • 成员函数:
    这里写图片描述
    这里写图片描述

multiset(成员同set):

是一个关联容器,它包含一些有序的Key类型的对象。与set不同的是,它允许多个带有相同值的键存在。排序通过使用键比较函数比较来实现。搜索,插入和删除操作具有对数的复杂性.
在比较中相等的元素,顺序为插入时的顺序,且不会改变。


unordered_set:

无序集合是一个关联容器,包含一些类型为Key的唯一对象。搜索,插入和删除具有平摊的常数时间复杂度。

  • 成员类型:
    这里写图片描述

  • 成员函数:
    这里写图片描述
    这里写图片描述

unordered_multiset(成员同unordered_set):

无序多重集合是一个关联容器,含有一些类型为Key的,可能不是唯一的对象。搜索,插入和删除具有平摊的常数时间复杂度。


map:

是一个有序关联容器,包含具有唯一键的键值对。键使用比较函数Compare比较来进行排序。搜索,删除和插入操作具有对数复杂性。map通常实现为红黑树

  • 成员类型:
    这里写图片描述

  • 成员函数:
    这里写图片描述
    这里写图片描述

multimap(成员同map):

multimap是一个关联容器,它包含一个有序的键值对列表。键值按照Compare比较函数来排序。搜索、插入和删除操作具有对数的复杂性。相等的键值对在比较中的排序是保持插入时的顺序。


unordered_map:

无序映射是一个关联容器,包含带有唯一键的键值对。搜索,插入和去除具有平摊的常数时间复杂度。

  • 成员类型:
    这里写图片描述

-成员函数:
这里写图片描述
这里写图片描述

unordered_multimap(成员同unordered_map):

无序多重映射是一个无序关联容器,支持多个相等的键(unordered_multimap中,每个键对应的值可能不唯一)以及相关联的另一种类型的值。 unordered_multimap类支持前向迭代器。搜索,插入和去除具有平摊的常数时间复杂度。

0 0
原创粉丝点击