pair<类型1, 类型2> 变量名的介绍,自用笔记

一、pair介绍:

pair 是 C++ STL 里的模板类 ,作用就是:把两个不同 / 相同类型的值打包成一个整体 ,相当于一个简易的二元结构体

  • 功能:存储一对值(两个值)
  • 两个成员:
    • first:第一个值
    • second:第二个值

pair<类型1, 类型2> 变量名;类型1和类型2的数据类型可以不一样,如下:

复制代码
pair<int, string> p;  // 一个 int + 一个 string
pair<int, int> p;    // 两个 int

二、创建 pair 的 4 种方法

1. 空构造

复制代码
pair<int, string> p;

2. 直接赋值

复制代码
pair<int, string> p(100, "小明");

3. 用 make_pair 函数(最常用)

复制代码
auto p = make_pair(200, "小红");

4. C++11 花括号

复制代码
pair<int, string> p = {300, "小刚"};

三、访问元素

.first.second 直接访问:

复制代码
pair<int, string> p(100, "小明");

cout << p.first;   // 输出 100
cout << p.second;  // 输出 小明

四、用法:排序是优先根据.first的大小来排序,如果.first的大小一样,才会去比较.second的大小

可执行代码:

cpp 复制代码
#include <bits/stdc++.h>
using namespace std;
const int N=1e4+10;
vector<pair<int,int> > a;
int main(){
a.push_back(make_pair(3,2));
a.push_back(make_pair(1,4));
a.push_back(make_pair(2,9));
cout<<"排序前:"<<endl; 
for(int i=0;i<3;i++){
	cout<<a[i].first<<" "<<a[i].second<<endl;
}
cout<<endl<<"排序后:"<<endl;
sort(a.begin(),a.end());
for(int i=0;i<3;i++){
	cout<<a[i].first<<" "<<a[i].second<<endl;
}
}

运行结果:

相关推荐
老四啊laosi2 小时前
[C++进阶] 24. 哈希表封装unordered_map && unordered_set
c++·哈希表·封装·unordered_map·unordered_set
2301_764441332 小时前
LISA时空跃迁分析,地理时空分析
数据结构·python·算法
东北洗浴王子讲AI2 小时前
GPT-5.4辅助算法设计与优化:从理论到实践的系统方法
人工智能·gpt·算法·chatgpt
014-code2 小时前
订单超时取消与库存回滚的完整实现(延迟任务 + 状态机)
java·开发语言
妙为2 小时前
银河麒麟V4下编译Qt5.12.12源码
c++·qt·国产化·osg3.6.5·osgearth3.2·银河麒麟v4
lly2024062 小时前
组合模式(Composite Pattern)
开发语言
Billlly2 小时前
ABC 453 个人题解
算法·题解·atcoder
玉树临风ives2 小时前
atcoder ABC 452 题解
数据结构·算法
游乐码3 小时前
c#泛型约束
开发语言·c#
Dontla3 小时前
go语言Windows安装教程(安装go安装Golang安装)(GOPATH、Go Modules)
开发语言·windows·golang