21xrx.com
2025-04-03 23:10:10 Thursday
文章检索 我的文章 写文章
C++容器vector的排序方法
2023-07-04 07:15:42 深夜i     12     0
C++ 容器 vector 排序方法

C++中的vector是一种可以用于存储任意类型数据的动态数组容器。在使用vector时,我们经常需要对其中的元素进行排序。本篇文章将介绍如何使用C++中的STL库对vector进行排序。

vector的排序方法有很多,最常用的是使用STL库中的sort函数。sort函数的语法如下:

sort(first, last, cmp)

其中,first和last为vector的迭代器,分别指向待排序数据的起始位置和结束位置;cmp为自定义的比较函数,用于指定比较规则。

下面是一个示例代码,对vector进行升序排序:

#include <iostream>
#include <vector>
#include <algorithm>
using namespace std;
// 自定义比较函数,用于升序排序
bool cmp(int a, int b)
  return a < b;
int main()
{
  vector<int> v = 5;
  sort(v.begin(), v.end(), cmp);
  for(auto i : v)
  
    cout << i << " ";
  
  return 0;
}

运行结果为:1 2 3 4 5

如果需要对vector进行降序排序,只需要修改自定义的比较函数,如下所示:

// 自定义比较函数,用于降序排序
bool cmp(int a, int b)
  return a > b;

运行结果为:5 4 3 2 1

除了使用sort函数外,STL库还提供了很多其他排序算法,如stable_sort、partial_sort等。这里只介绍sort函数的使用方法,读者可以根据自己的需求选择适合的算法。

总之,通过使用STL库提供的sort函数,我们可以轻松实现对vector的排序操作,提高程序的效率和维护性。

  
  

评论区