21xrx.com
2024-12-22 21:13:41 Sunday
登录
文章检索 我的文章 写文章
C++中sort排序函数的使用方法
2023-07-04 19:34:39 深夜i     --     --
C++ sort 排序函数 使用方法

C++中,sort函数是常用的排序函数之一,它能够对数组或容器进行排序。本文将介绍sort函数的使用方法。

sort函数的基本用法:sort(begin, end, cmp)

其中,begin是待排序数组或容器的首元素地址,end是其末尾元素地址的下一个位置,cmp是排序规则。

排序规则cmp是一个函数指针或函数对象。如果没有指定cmp,则sort默认按升序排列。

以下是一个简单的例子:


#include <iostream>

#include <algorithm>

using namespace std;

int main()

{

  int a[] = 7;

  int len = sizeof(a) / sizeof(int);

  sort(a, a+len);

  for (int i = 0; i < len; i++)

  {

    cout << a[i] << " ";

  }

  return 0;

}

输出结果为:1 2 4 5 7 9。

如果需要用sort函数逆序排列,则需要自己定义cmp函数或函数对象,以实现自定义的排序规则。以下是一个将数组按降序排列的例子:


#include <iostream>

#include <algorithm>

using namespace std;

bool cmp(int a, int b)

  return a > b;

int main()

{

  int a[] = 7;

  int len = sizeof(a) / sizeof(int);

  sort(a, a+len, cmp);

  for (int i = 0; i < len; i++)

  {

    cout << a[i] << " ";

  }

  return 0;

}

输出结果为:9 7 5 4 2 1。

除了可以对数组进行排序外,sort函数还可以对STL中的容器进行排序,如vector、list、deque等。容器的排序方法与数组的基本相同。

在使用sort函数时,需要注意以下几点:

1. sort函数排序的对象必须是可比较的,否则程序将无法通过编译;

2. 对于容器类中包含的自定义类型,需要重载运算符“<”或自定义cmp函数,以实现按照自定义规则进行排序。

3. 使用sort函数时,建议将待排序的数组或容器引用传递给函数,以避免发生不必要的数据复制,提高程序效率。

总之,sort函数是C++中非常实用的排序函数,掌握其使用方法对于编写高效的程序至关重要。

  
  

评论区

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