pair应用

pair的创建

//创建一个空对象,<>里是对象的两个变量类型。
pair<int,int> a;
pair<int,string> b;
pair<int,vector<int>> c;

//pair初始化
pair<string, string> author("James","Joy"); 
pair<string, int> name_age("Tom", 18);
pair<string, int> name_age2(name_age);//拷贝初始化

//用typedef进行初始化
typedef pair<string,string> P;//P为pair<string,string>类型的变量定义
P proust("March","Proust");
P Joy("James","Joy");//定义两个P类型的变量

pair<int, double> p1(1, 1.2);
pair<int, double> p2 = p1;     //拷贝初始化
p2.first,p2.second //为第一个与第二个元素

//amke_pair生成新的pair对象
pair<int, double> p1;
p1 = make_pair(1, 1.2);
cout << p1.first << p1.second << endl; 
int a = 8;
string m = "James";
pair<int, string> newone;
newone = make_pair(a, m);
cout << newone.first << newone.second << endl;
 
//对pair型数组进行排序
pair<int,int>pa[100];
int cmp(pair<int,int>a,pair<int,int>b){
    if(a.first!=b.first)return a.first<b.first;
    else return a.second<b.second;
}
int main(){
    int a,b;
    for(int i=0;i<5;i++)scanf("%d%d",&a,&b),pa[i]=make_pair(a,b);
    sort(pa,pa+5,cmp);
    for(int i=0;i<5;i++)printf("%d %d\n",pa[i].first,pa[i].second);
    return 0;
}
//output: 8 James 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值