Unverified Commit 007d4e3f authored by ddjxd's avatar ddjxd Committed by GitHub
Browse files

Update map.md

parent 81a28a3c
Loading
Loading
Loading
Loading
+13 −41
Original line number Diff line number Diff line
@@ -41,6 +41,7 @@ map <string,int> mp= {
2.如果你知道了元素的下标,但是想知道这个元素是否已经存在 `map` 中,可以使用 `find` 函数。

格式:`if(mp.find()==mp.end())`,意思是如果返回的是 `map` 的末尾,因为 `map` 如果没有查找到元素,迭代器会返回末尾。
其中 ```end()``` 返回指向map尾部的迭代器

3.如果你想知道map里全部的元素,那么就要使用迭代器了,如果你还不会,请查阅之前文章中的迭代器。

@@ -48,60 +49,31 @@ map <string,int> mp= {
for(iter=mp.begin();iter!=mp.end();iter++)
        cout<<iter->first<<" "<<iter->second<<endl;
```
其中,`iter->first` 是指的索引,例如 `ddjxd`,而 `iter->second` 是下标。

其中 ```end()``` 返回指向map尾部的迭代器

`iter->first``map` 索引,例如 `ddjxd`,而 `iter->second` 是下标。

当然,如果你想删除 `ddjxd` 这个元素,那么就可以在循环里加入:

```cpp
if(i->first=="ddjxd") mp.erase(i);
if(i->first=="ddjxd") mp.erase(i);//
```

如果你想清空所有的元素,可以直接`mp.clear`
如果你想清空所有的元素,可以直接`mp.clear()`

- 其他

我们刚才介绍了最常用的,下面是全部的:

```

     begin()         返回指向map头部的迭代器

     clear()         删除所有元素

     count()         返回指定元素出现的次数

     empty()         如果map为空则返回true

     end()           返回指向map末尾的迭代器

     equal_range()   返回特殊条目的迭代器对
我们刚才介绍了最常用的,下面是其他比较常用的:

     erase()         删除一个元素
- `count()`   返回指定元素出现的次数 ,例如 `mp.count()`

     find()          查找一个元素
- `swap` 可以交换两个 `map` ,例如 `swap(m1,m2)`

     get_allocator() 返回map的配置器
- `size()` 返回 `map` 中元素的个数
     
     insert()        插入元素
- `empty()`  如果 `map` 为空则返回 `true`,例如 `mp.empty()`

     key_comp()      返回比较元素key的函数

     lower_bound()   返回键值>=给定元素的第一个位置

     max_size()      返回可以容纳的最大元素个数

     rbegin()        返回一个指向map尾部的逆向迭代器

     rend()          返回一个指向map头部的逆向迭代器

     size()          返回map中元素的个数

     swap()           交换两个map

     upper_bound()    返回键值>给定元素的第一个位置

     value_comp()     返回比较元素value的函数
```

### `map` 常数靠得住吗?