1、Pair的常用用法
pair:兩個元素綁在一起作為一個合成元素。可以看成是兩個元素的結構體。
struct pair { typeName1 first; typeName2 second; };
1.1、pair的定義
添加頭文件#include<utility>(#include<map>)和using namespace std;
map的內部設計到pair的使用,所以map頭文件會自動添加#include<utility>頭文件。
pair<typename1,typename2> name; pair<string,int> p;
pair<string,int>("hello",1);
1.2、pair元素的訪問
pair中只有兩個元素,first和second。
#include<stdio.h> #include<utility> using namespace std; int main() { pair<string,int> p; p.first="hello"; p.second=3; cout<<p.first<<" "<<p.second<<end; return 0; }
1.3、pair常用函數
1.3.1、比較操作==,!=,<,<,<=,>,>=
比較的時候,顯示比較first,first相等才比較second
#include<stdio.h> #include<utility> using namespace std; int main() { pair<int,int> p1(1,2); pair<int,int> p2(2,3); pair<int,int> p3(1,4); if(p1<p2)printf("p1<p2\n"); if(p1<=p3)printf("p1<=p3\n"); if(p2<p3)printf("p2<p3\n"); return 0; }
1.4、pair的用途
代替二元結構體
作為map的鍵值來進行插入操作。
#include<stdio.h> #include<map> using namespace std; int main() { map<string,int> mp; mp.insert(pair<string,int>("help",1)); mp.insert(make_pair("hello",2)); for(map<string,int>::iterator it=mp.begin();it!=mp.end();it++) { cout<<it->first<<" "<<it->second<<endl; } return 0; }
2018-09-25 20:41:03
@author:Foreordination
