C++:vector里插入pair
最佳答案 问答题库748位专家为你答疑解惑
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].first
和res[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;
}
扩展
99%的人还看了
相似问题
猜你感兴趣
版权申明
本文"C++:vector里插入pair":http://eshow365.cn/6-11396-0.html 内容来自互联网,请自行判断内容的正确性。如有侵权请联系我们,立即删除!
- 上一篇: 编译原生安卓aosp源码,实现硬改以及定位
- 下一篇: Java 8 中Stream流的一些用法