STL—pair

简介: pair是一个特别实用的“小玩意儿”,当我们想把两个元素捆绑在一起当成一个元素的时候,又不想定义结构体的时候,这个时候就可以使用pair,也就是说,pair实际上可以当成内部只有两个元素的结构体,且这两个元素的类型是可以指定的.

文章目录

一、什么是pair

二、pair的操作

1.pair的定义

2.pair的输出

3.pair的赋值

法一

法二

4.pair的比较


一、什么是pair

pair是一个特别实用的“小玩意儿”,当我们想把两个元素捆绑在一起当成一个元素的时候,又不想定义结构体的时候,这个时候就可以使用pair,也就是说,pair实际上可以当成内部只有两个元素的结构体,且这两个元素的类型是可以指定的.

struct pair {
  typename1 first;
  typename2 second;
};

要使用pair,要先添加#include <map>,或者#include <utility>,这里建议只需要记住前一个就ok了

二、pair的操作

1.pair的定义

pair有两个参数,分别对应firstsecond的数据类型,它们可以是任意基本数据结构类型或者容器

pair<typename1, typename2> name;

对pair的初始化:

pair<string, int> p("辰chen", 19);

2.pair的输出

pair的两个元素我们通过p.firstp.second输出

#include <iostream>
#include <map>
using namespace std;
int main()
{
    pair<string, int> p("辰chen", 19);;
    cout << p.first << ' ' << p.second;
    return 0;
}

输出结果为:辰chen 19


3.pair的赋值

pair的赋值我们在这里介绍两种方法,更推荐掌握第一种(如果你的编译器可以正常编译的话)

法一

#include <iostream>
#include <map>
using namespace std;
int main()
{
    pair<string, int> p;
    p = {"辰chen", 19};
    cout << p.first << ' ' << p.second;
    return 0;
}

输出结果为:辰chen 19

法二

#include <iostream>
#include <map>
using namespace std;
int main()
{
    pair<string, int> p;
    p = make_pair("辰chen", 19);
    cout << p.first << ' ' << p.second;
    return 0;
}

输出结果为:辰chen 19

4.pair的比较

两个pair类型的数据进行比较的时候,比较规则是:先比较first的大小,只有当first的大小相等的时候才会去比较second

#include <iostream>
#include <map>
using namespace std;
int main()
{
    pair<int, int> p[3];
    p[0] = {5, 10};
    p[1] = {5, 15};
    p[2] = {10, 5};
    if (p[0] < p[2]) cout << "p[0] < p[2]" << endl;
    if (p[0] <= p[2]) cout << "p[0] <= p[2]" << endl;
    if (p[0] < p[1]) cout << "p[0] < p[1]" << endl;
    return 0;
}

输出结果:

p[0] < p[2]

p[0] <= p[2]

p[0] < p[1]


目录
相关文章
|
存储 编译器 C++
【C++】STL---vector
【C++】STL---vector
55 0
|
人工智能
interviewstreet pair
今天突然想起interviewstreet这个网站,这个网站和其他oj有些不同,每题只要通过一组测试样例就会获得一定的分数,然后按分数的高低进行排名,刚刚看到一题。
46 0
|
C++ 容器
【C++ STL】 --- vector
【C++ STL】 --- vector
66 0
|
C++ Python 容器
C++中pair用法
⭐pair的简介 pair是C++STL(标准模板库)中的一个现有容器,它将2个数据整合成一组数据,当我们类似需求的时候就可以使用到pair啦!pair其实有点像Python中字典中的键值对(Key-Value),一个Key对应着一个Value。pair的本质其实就是个结构体,它含有两个成员变量first和second。因为使用的是struct不是class,所以在定义后是可以直接使用pair中的成员变量的。 其标准库类型–pair类型定义在#include< utility > 头文件中
374 0
|
编译器 C语言 C++
【STL实用技巧】函数对象(仿函数)与pair类型初探
【STL实用技巧】函数对象(仿函数)与pair类型初探
100 0
【STL实用技巧】函数对象(仿函数)与pair类型初探
|
存储 C++ 索引
【C++进阶】八、STL---unordered_set & unordered_set的介绍及使用
目录 一、unordered系列关联式容器 二、unordered_set的介绍及使用 2.1 介绍 2.2 使用 三、unordered_map的介绍及使用 3.1 介绍 3.2 使用
211 0
|
Java C语言 C++
C++_pair
pair是将2个数据组合成一组数据,当需要这样的需求时就可以使用pair,如stl中的map就是将key和value放在一起来保存。另一个应用是,当一个函数需要返回2个数据的时候,可以选择pair。pair的实现是一个结构体,主要的两个成员变量是first second 因为是使用struct不是class,所以可以直接使用pair的成员变量。就算其他的语言中没有pair,比如java与c语言,也可以自己理解原理之后,通过结构体自己做一个。
113 0
C++_pair
|
C++ 容器
STL—algorithm(2)(上)
在algorithm中,有很多函数,这些函数是已经写好的,可以直接调用,十分的方便,可以精简代码量辅助我们思考 在使用algorithm的函数之前需要添加头文件#include <algorithm>
95 0
|
C++ 容器
STL—algorithm(2)(下)
容器的排序 并不是所有的STL容器都是可以用sort函数的,像vector,string是可以使用sort函数的,但是像set,map这种容器本身有序,故不允许使用sort排序
110 0

热门文章

最新文章