map映照容器的元素資料報含兩個部分:
乙個鍵值;
乙個映照的資料;
組成的,鍵值和映照資料之間具有一一對應的關係。
map映照容器的資料結構也是採用紅黑樹來實現的,請注意:不允許插入元素的鍵值相同。比較函式所比較的也只是鍵值之間的比較,在檢索的時候,通俗的說查詢的時候,還是通過鍵值進行查詢。
map的用法和set及其相似,如果你之前的都看了,相信你可以猜到map有哪些方法以及操作了
*map建立、元素插入和遍歷訪問
建立map物件,鍵值和映照資料的型別自己來定義。在沒有指定比較函式的時候,元素的插入位置是按鍵值的由小到大的順序進行插入的。
//請注意:程式在編譯的時候,會產生代號為warning c4786的警告,4786警告的意思是
//標記符超長警告的代號。可以在程式的標頭檔案中加上#pragma warning(disable:4786)
//巨集語句,強制編譯器忽略該警告,4786警告對程式的正確性以及程式的正常執行沒有影響
#pragma warning(disable:4786)
#include#include#includeusing namespace std;
int main()
};int main() };
int main()
{ mapm;
info info;
info.name = "caicai";
info.score = 60;
m[info] = 25;
info.name = "ningbo";
info.score = 80;
m[info] = 10;
info.name = "zhejiang";
info.score = 67;
m[info] = 30;
map::iterator it;
for(it = m.begin(); it != m.end(); it ++)
{ cout<<(*it).second<<" : ";
cout<<((*it).first).name<<" "<<((*it).first).score<
對數字各位進行分離,把數字當做字串進行處理,使用map的映照功能,很便捷的對數字進行分離
#pragma warning(disable:4786)
#include#include#includeusing namespace std;
int main()
{ mapm;
m['0'] = 0;
m['1'] = 1;
m['2'] = 2;
m['3'] = 3;
m['4'] = 4;
m['5'] = 5;
m['6'] = 6;
m['7'] = 7;
m['8'] = 8;
m['9'] = 9;
for(int i = 0; i < 10; i ++)
m['0'+i] = i;
string sa, sb;
sa = "2015";
int sum = 0;
for(int i = 0; i < sa.length(); i ++)
sum += m[sa[i]];
cout<<"sum = "<
很多時候,需要實現將數字對映為相應的字元
#pragma warning(disable:4786)
#include#include#includeusing namespace std;
int main()
{ mapm;
m[0] = '0';
m[1] = '1';
m[2] = '2';
m[3] = '3';
m[4] = '4';
m[5] = '5';
m[6] = '6';
m[7] = '7';
m[8] = '8';
m[9] = '9';
for(int i = 0; i < 10; i ++)
m['0'+i] = i;
int n = 7;
string s = "the number is: ";
cout<
C STL學習筆記九 map映照容器
include include include 基本操作與set類似,牢記map中所有元素都是pair 對於自定義類,初學者會覺得比較函式如何構造很麻煩,這個可以參照前面的書寫示例 但若設定鍵值為int或char型別,無須構造比較函式 struct student struct strcmp str...
Map映照容器
1 map映照容器 map建立元素插入和遍歷訪問 建立map物件 鍵值與映照資料的型別自己定義 在預設比較函式下 元素的插入按鍵值小到大 include include include include include include include include include include i...
C STL之multimap多重映照容器
multimap與map基本相似,兩者的區別在與,multimap允許插入重複的鍵值。由於允許插入重複的減值,所以multimap與map的元素插入 刪除 查詢有一些不同。multimap物件的建立 元素的插入 可以插入重複的鍵值 pragma warning disable 4786 includ...