21xrx.com
2024-09-17 04:25:51 Tuesday
登录
文章检索 我的文章 写文章
C++ sort函数的使用方法
2023-07-07 10:51:18 深夜i     --     --
C++ sort函数 使用方法

C++ sort函数是STL(Standard Template Library,标准模板库)中的一个函数,用于排序一个数组或容器中的元素,可以对整型、浮点型、字符型等数据类型进行排序。本文将介绍sort函数的使用方法。

sort函数的原型:

void sort(RandomAccessIterator first, RandomAccessIterator last, Compare comp);

其中,first和last表示要排序的数组或容器的起始和结束位置的迭代器,comp表示可选的比较函数,如果没有提供比较函数,则默认按升序排序。

比较函数的原型:

bool comp(const T& a, const T& b);

其中T表示要排序的元素类型,a和b是要比较的两个元素,返回值表示a是否“小于”b。如果要按降序排序,则返回a是否“大于”b。

下面是一个使用sort函数对int数组按升序排序的例子:

#include

#include

using namespace std;

int main() {

  int arr[] = 6;

  int n = sizeof(arr) / sizeof(arr[0]);

  // 按升序排序

  sort(arr, arr + n);

  for (int i = 0; i < n; i++) {

    cout << arr[i] << " ";

  }

  cout << endl;

  return 0;

}

输出结果:

1 2 3 4 5 6

在这个例子中,首先定义一个int数组arr,然后通过sizeof计算数组的大小,使用sort函数对数组进行排序,最后输出排序后的结果。

如果要按降序排序,则可以提供一个比较函数,比较函数的返回值可以通过加一个负号来实现:

bool cmp(int a, int b)

  return a > b;

sort(arr, arr + n, cmp);

输出结果:

6 5 4 3 2 1

除了数组以外,也可以使用sort函数对容器进行排序,只需要提供容器的迭代器即可。下面是一个使用sort函数对vector容器按升序排序的例子:

#include

#include

#include

using namespace std;

int main() {

  vector v = 3;

  // 按升序排序

  sort(v.begin(), v.end());

  for (int i = 0; i < v.size(); i++) {

    cout << v[i] << " ";

  }

  cout << endl;

  return 0;

}

输出结果:

1 2 3 4 5 6

通过以上例子,我们可以看出,sort函数是一个非常简单易用的函数,只需要提供要排序的数组或容器的迭代器和可选的比较函数即可实现排序。

  
  

评论区

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