//pair基础操作
#include <bits/stdc++.h>
#include <iostream>
#include <cstdio>
#include <algorithm> //排序用
using namespace std;
pair<T1, T2> p1; //创建一个空的pair对象(使用默认构造),它的两个元素分别是T1和T2类型,采用值初始化。
pair<T1, T2> p1(v1, v2); //创建一个pair对象,它的两个元素分别是T1和T2类型,其中first成员初始化为v1,second成员初始化为v2。
make_pair(v1, v2); // 以v1和v2的值创建一个新的pair对象,其元素类型分别是v1和v2的类型。
p1 < p2; // 两个pair对象间的小于运算,其定义遵循字典次序:如 p1.first < p2.first 或者 !(p2.first < p1.first) && (p1.second < p2.second) 则返回true。
p1 == p2; // 如果两个对象的first和second依次相等,则这两个对象相等;该运算使用元素的==操作符。
p1.first; // 返回对象p1中名为first的公有数据成员
p1.second; // 返回对象p1中名为second的公有数据成员
pair<string, string> ob; // 创建一个空对象ob,两个元素类型都是string
pair<string, int> a; // 创建一个空对象 a, 两个元素类型分别是string和int类型
pair<string, vector<int> > b; // 创建一个空对象b,两个元素类型分别是string和vector类型
pair<int,int>Item[n]; //定义pair对象数组Item[n]
sort(Item, Item+n); //默认对Item的first的值进行排序
bool cmp(pair<int, int>a, pair<int, int>b){
return a.first<b.first; //根据fisrt的值升序排序
}
bool cmp(pair<int, int>a, pair<int, int>b){
return a.first>b.first; //根据second的值升序排序
}
sort(Item, Item+n, cmp);
typedef pair<int, int>P; //自定义pair类型
int main()
{
cout << "Pair" << endl;
return 0;
}
熟悉训练之STL容器pair基础操作
最新推荐文章于 2024-01-18 19:46:04 发布