21xrx.com
2024-12-22 22:19:42 Sunday
登录
文章检索 我的文章 写文章
C++中常用的排序函数
2023-07-13 04:39:49 深夜i     --     --
sort() stable_sort() partial_sort() nth_element() make_heap()

C++是一种广泛使用的编程语言,它提供了许多强大的函数和算法,其中排序函数是最常用的之一。在现代编程中,排序是一个非常重要的工具,它可以用于排序各种类型的数据,如数字,字符串,甚至是自定义对象。

以下是一些在C++中常用的排序函数:

1. sort()

在C++中,最常用的排序函数是sort()。此函数可以按照升序或降序对数组进行排序。sort()只需要传入待排序数组的首地址和尾地址即可对其进行排序。如果是自定义对象,sort()函数会按照定义的比较运算符进行排序。

例如:


int arr[] = 2;

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

sort(arr, arr + n);

以上代码会将数组arr按照升序排序。

2. stable_sort()

stable_sort()与sort()函数类似,但它可以保证相等元素的相对顺序不改变。因此,stable_sort()对于需要保留相等元素顺序的排序问题十分有用。

例如:


struct Student

  string name;

  int score;

;

bool cmp(const Student& a, const Student& b)

  return a.score > b.score;

vector<Student> stu = { 90,

            80,

            "Charlie",

            85};

stable_sort(stu.begin(), stu.end(), cmp);

以上代码将按照分数降序排序,并保留相等分数下的名字顺序。

3. partial_sort()

partial_sort()函数可以部分排序一组数据,即将给定数量的最小元素放在前面。partial_sort()需要指定两个参数:待排序数组的起始和结束位置以及希望保留的最小元素数量。

例如:


int arr[] = 2;

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

partial_sort(arr, arr + 3, arr + n);

以上代码将数组arr中前3个最小元素排在前面。

总之,在C++编程中,排序函数是非常重要的。以上介绍的三种排序函数是使用最广泛的排序算法之一。根据需要,C++还提供了其他一些排序函数,例如nth_element()和make_heap()等。无论处理任何类型的数据,C++都能为开发人员提供强大的排序算法。

  
  

评论区

{{item['qq_nickname']}}
()
回复
回复
    相似文章