日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 >

map multimapc++_黑马C++视频笔记《STL之map/multimap》

發(fā)布時間:2024/9/27 48 豆豆
生活随笔 收集整理的這篇文章主要介紹了 map multimapc++_黑马C++视频笔记《STL之map/multimap》 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

/* map/multimap容器

* map/multimap屬于關(guān)聯(lián)式容器,底層結(jié)構(gòu)是用二叉樹實現(xiàn)。

* - map中所有元素都是pair;

* - pair中第一個元素為key(鍵值),起到索引作用,第二個元素為value(實值);

* - 所有元素都會根據(jù)元素的鍵值自動排序;

*

* 優(yōu)點:可以根據(jù)key值(鍵)快速找到value值.

*

* map和multimap的區(qū)別:

* - map不允許容器中有重復(fù)key值元素;

* - multimap允許容器中有重復(fù)key值元素.

*

* map構(gòu)造:

* - `map m;`,默認(rèn)構(gòu)造函數(shù);

* - `map(const map & m);`,拷貝構(gòu)造函數(shù);

*

* 賦值:

* - `map& operator=(const map &m);`, 重載等號操作符.

*

* 大小和交換:

* - `size();`,返回容器中元素的數(shù)目;

* - `empty();`,判斷容器是否為空;

* - `swap(map);`,交換兩個map容器中的數(shù)據(jù);

*

* 插入和刪除:

* - `insert(elem);`,在容器中插入元素,多種插入方式:

* map m;

* (1)`m.insert(pair(1, 10));`;

* (2)`m.insert(make_pair(2, 20));`;

* (3)`m.insert(map::value_type(3,30);`;

* (4)`m[4]=40;`

* 在上面四種插入方法中,雖然第4種最簡單,但是第4中容易出錯,如`m[5];`看起來像是在取value值,

* 但是這個操作其實創(chuàng)建了一個新的key-value對,只不過value是用默認(rèn)值來進(jìn)行填充的.

* - `clear();`,清除所有元素;

* - `erase(pos);`,刪除pos迭代器所指的元素,返回下一個元素的迭代器;

* - `erase(beg, end);`,刪除區(qū)間[beg, end)的所有元素,返回下一個元素的迭代器;

* - `erase(key);`,刪除容器中值為key的元素.

*

* 查找和統(tǒng)計:

* - `find(key);`,查找key是否存在,若存在,返回該鍵的元素的迭代器;若不存在,返回set.end();

* - `count(key);`,統(tǒng)計key的元素的個數(shù).

*

* 排序:與set排序基本相同,我們可以利用仿函數(shù)來改變插入數(shù)據(jù)時候的排序規(guī)則.

*/

一個栗子:

//

// Created by shexuan on 2021/1/23.

//

#include

#include

#include

using namespace std;

class myCompare{

public:

// 記住這里加const,不然后報錯

bool operator()(int v1, int v2) const {

// 降序

return v1>v2;

}

};

int main(){

map m;

m.insert(pair(1,10));

m.insert(pair(2,20));

m.insert(pair(3,30));

m.insert(pair(4,40));

m.insert(pair(5,50));

for (map::iterator it=m.begin();it!=m.end();it++){

cout << "first: " << it->first << " second: " << it->second << endl;

}

}

總結(jié)

以上是生活随笔為你收集整理的map multimapc++_黑马C++视频笔记《STL之map/multimap》的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。