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 ...