21xrx.com
2024-12-27 19:28:34 Friday
登录
文章检索 我的文章 写文章
C++容器vector的排序方法
2023-07-04 07:15:42 深夜i     --     --
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的排序操作,提高程序的效率和维护性。

  
  

评论区

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