21xrx.com
2024-12-22 22:16:45 Sunday
登录
文章检索 我的文章 写文章
C++中使用pair进行排序
2023-07-03 03:16:35 深夜i     --     --
C++ pair 排序

在C++语言中,排序是一个非常重要的功能。排序能够帮助我们整理数据,使得它们更易于被理解和使用。在C++中,我们可以使用pair进行排序。pair是一个模板类,它允许我们存储两个不同类型的值并将它们作为一个单元进行处理。

使用pair进行排序非常简单,只需要遵循以下几个步骤:

1. 准备一个vector,并向其中添加一些pair。每个pair都有两个元素:第一个元素是要排序的值,第二个元素是该值的键。


vector<pair<int, string>> data;

data.push_back(make_pair(10, "Jim"));

data.push_back(make_pair(5, "Bob"));

data.push_back(make_pair(20, "Joe"));

2. 使用sort函数进行排序。sort函数需要三个参数:第一个参数是要排序的数据的起始位置,第二个参数是结束位置,第三个参数是比较函数。比较函数的作用是帮助sort函数确定排序的顺序。如果第一个参数比第二个参数小,则被认为是小于。在比较函数中,我们需要使用pair的第一个元素进行比较。


bool compare(const pair<int, string>& a, const pair<int, string>& b)

  return a.first < b.first;

sort(data.begin(), data.end(), compare);

3. 输出排序后的结果。


for (const auto& item : data)

  cout << item.first << " " << item.second << endl;

完整的代码如下:


#include <iostream>

#include <vector>

#include <algorithm>

using namespace std;

bool compare(const pair<int, string>& a, const pair<int, string>& b)

  return a.first < b.first;

int main()

{

  vector<pair<int, string>> data;

  data.push_back(make_pair(10, "Jim"));

  data.push_back(make_pair(5, "Bob"));

  data.push_back(make_pair(20, "Joe"));

  sort(data.begin(), data.end(), compare);

  for (const auto& item : data)

  

    cout << item.first << " " << item.second << endl;

  

  return 0;

}

以上就是使用pair进行排序的方法,希望能对大家有所帮助。

  
  

评论区

{{item['qq_nickname']}}
()
回复
回复