C++標准模板庫(STL)之Pair


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


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM