6 4 map的常用用法

2021-10-10 14:57:46 字數 1300 閱讀 3000

map翻譯為對映,也是常用的stl容器,在使用map時,需要新增map標頭檔案,#include。

1,map的定義

mapmp,typename1是對映前的型別(鍵key)typename2是對映後型別(值value),如:mapmp,是int型對映到int型,另外map的鍵和值也可以是stl容器,例如map,string>mp。注:如果是字串到整型的對映必須使用string 而不是char。

2,map的訪問

map的訪問有兩種方式,一是通過下標訪問,二是通過迭代器訪問。

下標訪問:

#include#includeusing namespace std;

int main()

迭代器訪問:

迭代器的定義:map::iterator it;這樣就得到了迭代器it,我們可以使用it->first來訪問鍵,通過it->second來訪問值。

#include#includeusing namespace std;

int main()

return 0;

}

3,map常見函式

(1)find():find(key)返回鍵為key的對映的迭代器。

#include#includeusing namespace std;

int main()

(2)erase()可以刪除單個元素和刪除整個區間 的元素。

刪除單個元素有兩種方法,一是mp.erase(it),it是需要刪除元素的迭代器。

#include#includeusing namespace std;

int main()

return 0;

}

二是mp.erase(key)key是要刪除對映的鍵。

#include#includeusing namespace std;

int main()

return 0;

}

刪除乙個區間的元素,mp.erase(first,last),first是需要刪除區間的起始迭代器,last是需要刪除的區間的末尾迭代器的下乙個位址,就是刪除區間為[first,last)。

#include#includeusing namespace std;

int main()

return 0;

}

(3)size())用來獲得map中對映對數。

(4)clear()清空map中的所有元素。

演算法筆記6 4 map

以前的陣列如int a,char c,double d,其實都是int 其他型別的對映,然而有時下標並不一定是int,這時就要用map來處理了。注意 1.char陣列不可以作為鍵 換用string.key只能是基本型別或容器 2.可以直接下標訪問 eg m r 3 也可以迭代器訪問 3.鍵值必須唯一...

map函式常用用法

map翻譯為對映,也是常見的stl容器 在定義陣列時 如int array 100 其實是定義了乙個從int型到int型的對映 比如array 0 25 array 4 36就分別是將0對映到25 將4對映到36 乙個double型陣列則是將int型對映到double型,如db 0 3.14,dou...

map的常用用法詳解

map翻譯為對映,也是常用的stl容器。眾所周知,在定義陣列時 如 int array l00 其實是定義了乙個從int型到int型的對映,比如array 0 25 array 4 36就分別是將0對映到25 將4對映到36。乙個 double型陣列則是將int型對映到double型,例如db 0 ...