简介
set 和 multiset 作为 C++ STL 的一部分,由红黑树实现,能保持容器内元素始终有序。其插入、查找、删除的时间复杂度均为 。两者区别在于 set 不允许有重复元素,multiset 允许有重复元素。
这里顺便提起 unordered_set 和 unordered_multiset,底层实现是哈希表,容器内元素无序。插入、查找、删除的时间复杂度最好为 ,最坏为 。空间换时间。
命令及使用
multiset:
1 | multiset<int> s; // 定义一个 multiset 容器 |