OSDN Git Service

:pencil2: add multiset
authorShuhao Zhang <594422141@qq.com>
Thu, 12 Sep 2019 16:11:47 +0000 (00:11 +0800)
committerGitHub <noreply@github.com>
Thu, 12 Sep 2019 16:11:47 +0000 (00:11 +0800)
docs/lang/csl/associative-container.md

index 20971fa..dc14be1 100644 (file)
@@ -2,7 +2,7 @@
 
 `set` 是关联容器,含有键值类型对象的已排序集,搜索、移除和插入拥有对数复杂度。`set` 内部通常采用红黑树实现。
 
-和数学中的集合相似,`set` 中不会出现值相同的元素。
+和数学中的集合相似,`set` 中不会出现值相同的元素。
 
 ### 插入与删除操作
 
 
 ##  `multiset` 
 
+`multiset` 是关联容器,含有键值类型对象的已排序集,搜索、移除和插入拥有对数复杂度。
+
+与 `set` 不同的是,`multiset` 允许不同元素间拥有相同的值。
+
+### 插入与删除操作
+
+- `insert(x)` 将元素 x 插入到 `multiset` 中。
+- `erase(x)` 删除值为 x 的**所有**元素,返回删除元素的个数。
+- `erase(pos)` 删除迭代器为 pos 的元素,要求迭代器必须合法。
+- `erase(first,last)` 删除迭代器在 $[first,last)$ 范围内的所有元素。
+- `clear()` 清空 `multiset`。
+
+### 迭代器
+
+`multiset` 的迭代器和 `set` 的[迭代器](#迭代器)类似,这里不再赘述。
+
+### 查找操作
+
+`multiset` 的查找操作和 `set` 的[查找操作](#查找操作)类似,这里不再赘述。
+
 ##  `map` 
 
  `map` 是有序键值对(Attribute–value pair)容器,它的元素的键是唯一的。搜索、移除和插入操作拥有对数复杂度。 `map` 通常实现为红黑树。