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