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;
}

扩展

相关推荐
love530love几秒前
【PyCharm必会基础】正确移除解释器及虚拟环境(以 Poetry 为例 )
开发语言·ide·windows·笔记·python·pycharm
凌辰揽月2 分钟前
Web后端基础(基础知识)
java·开发语言·前端·数据库·学习·算法
海奥华26 分钟前
go中的接口返回设计思想
开发语言·后端·golang
lifallen8 分钟前
深入浅出 Arrays.sort(DualPivotQuicksort):如何结合快排、归并、堆排序和插入排序
java·开发语言·数据结构·算法·排序算法
运维开发王义杰8 分钟前
Python: 告别 ModuleNotFoundError, 解决 pipx 环境下 sshuttle 缺少 pydivert 依赖的终极指南
开发语言·python
k要开心9 分钟前
从C到C++语法过度1
开发语言·c++
小吕学编程12 分钟前
策略模式实战:Spring中动态选择商品处理策略的实现
java·开发语言·设计模式
whoarethenext20 分钟前
使用 C/C++的OpenCV 实时播放火柴人爱心舞蹈动画
c语言·c++·opencv
q5673152333 分钟前
IBM官网新闻爬虫代码示例
开发语言·分布式·爬虫
能工智人小辰34 分钟前
Codeforces Round 509 (Div. 2) C. Coffee Break
c语言·c++·算法