簡述
map的意思是“映射”,頭文件<map>,定義時含三個參數.A.B.C
(定義示例(map<A,B>C;),這時候可以把map<A,B>看成一種類型,
后面加變量名),C為變量名 ,A,B為類型名例如(int,double,s
tring,struct,char......),表示從數學二維坐標系每一個x對應唯一的
一個y,A類似於x,B類似於y,不同的是數學里xy是數值,map里AB
是一種數據類型。你每輸入一個數據項到C里去,map都會對他進
行按A的大小升序排序,如:

1 #include <iostream> 2 #include <map> 3 using namespace std; 4 int main() 5 { 6 map<int,double>a; 7 a[8]=78.9;//8為int,78.9為double,與上一行對應 8 a[2]=90.34; 9 for(auto it=a.begin();it!=a.end();it++) 10 cout<<(*it).first<<" "<<it->second<<endl; 11 return 0; 12 }
定義
map<string,int>a;//此時我定義了一個string映射到int的空map,變量為a;
賦值
a["hello eer ko!"]=87;
a["cell"]=56;
string d="jiool";a[d]=42;
//完成后a里面的順序按string的大小升序排序,大小可以參考strcmp函數
輸出
1.遍歷方式 為選代器遍歷
2.a里面的一個元素分為兩部分first和second
first對應A,second對應B // A,B是什么,去我的簡述里看
如果是指向map里面元素的指針p,可以如此訪問
(*p).first ,(*p).second,p->first,,,,,
3.cout<<a["cell"]; //輸出56,我在賦值那一部分賦過值

1 #include <iostream> 2 #include <map> 3 using namespace std; 4 int main() 5 { 6 map<string,double>a; 7 string b; 8 double c; 9 for(auto i=0;i<3;i++) 10 { 11 cin>>b>>c; 12 a[b]=c; 13 } 14 cout<<endl; 15 for(auto it=a.begin();it!=a.end();it++) 16 cout<<it->first<<" "<<it->second<<endl; 17 return 0; 18 }