C++ 往vector里插入pair

1.初始化

vector<pair<int,int>> res;

res的声明:表示建立一个vector容器,容器里面放的是pair<int, int>类型的变量

2.添加元素

以下变量名res皆表示一个 vector<pair<int,int>>类型的容器。

1)利用push_back和强转类型进行添加元素。

res.push_back(pair<int,int>(10,50));//往容器的最后一个位置里插入(10, 50)

2)利用emplace_back进行添加元素(推荐)

/*推荐,相比push_back, emplace_back功能更加强大,不需要显式强制转换类型。*/
 res.emplace_back(1, 100);//往容器的最后一个位置插入(1, 100)

3.访问

利用res[i].firstres[i].second进行访问

res.emplace_back(1, 100);
res.emplace_back(2, 200);
cout<<res[0].first<<" "<<res[0].second<<endl;//1, 100
cout<<res[1].first<<" "<<res[2].second<<endl;//2, 200

4.排序

利用sort(res.begin(), res.end())进行排序。
默认规则: 先根据pair.first进行升序排序,如果pair.first相同,再根据pair.second进行升序排序

#include<bits/stdc++.h>
using namespace std;
int main(){
	vector<pair<int, int>> res;
	res.emplace_back(2, 0);//往容器里添加(2, 0)
	res.emplace_back(4, 1);//往容器里添加(4, 1)
	res.emplace_back(1, 2);
	res.emplace_back(2, 3);
	res.emplace_back(5, 4);
	res.emplace_back(2, -1);
	/*
	排序前
	2 0
	4 1
	1 2
	2 3
	5 4
	2 -1
	*/
	sort(res.begin(), res.end()); 
	/*先根据first进行升序排序,如果first相同,则按照second进行升序排序。*/
	for(auto x : res){
		cout<<x.first<<" "<<x.second<<endl;
	}
	/*
	排序后
	1 2
	2 -1
	2 0
	2 3
	4 1
	5 4
	*/
	return 0;
}
  • 7
    点赞
  • 22
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值