首页 > 文章列表 > C++sort函数详解与示例演示

C++sort函数详解与示例演示

排序 c++
419 2024-04-23

摘要:C++ sort 函数用于对容器元素进行排序。默认情况下,它使用 < 运算符按升序排序。开发者还可以提供自定义比较函数来根据特定规则排序。常见示例包括对整数数组和字符串数组进行排序。

C++sort函数详解与示例演示

C++ 排序函数详解与示例演示

sort 函数概述

sort 函数是 C++ 标准模板库 (STL) 中一个强大的函数,用于对容器元素进行排序。它根据指定的比较规则将容器中的元素排列成升序或降序。

函数声明如下:

template<typename Iter>
void sort(Iter first, Iter last);

其中:

  • Iter:指向容器元素的迭代器类型,可以在容器中移动和访问元素。
  • first:容器开始迭代器,指定要排序元素的范围的第一个元素。
  • last:容器结束迭代器,指定要排序元素的范围的最后一个元素之后的元素。

自定义比较规则

默认情况下,sort 函数使用 < 运算符进行比较,这意味着它将容器元素按升序排列。如果您希望根据不同的规则排序,可以提供一个自定义比较函数:

bool compare(const Type1& a, const Type2& b)
{
    // 自定义比较规则
}

// 在 sort 函数中使用自定义比较函数
sort(first, last, compare);

实战案例

示例 1:对整数数组排序

#include <iostream>
#include <algorithm>

using namespace std;

int main()
{
    int arr[] = {5, 2, 7, 1, 3};
    int len = sizeof(arr) / sizeof(arr[0]);

    sort(arr, arr + len);

    cout << "排序后的数组:";
    for (int i = 0; i < len; i++)
    {
        cout << " " << arr[i];
    }
    cout << endl;

    return 0;
}

输出:

排序后的数组: 1 2 3 5 7

示例 2:对字符串数组排序

#include <iostream>
#include <algorithm>

using namespace std;

int main()
{
    string arr[] = {"apple", "orange", "banana", "kiwi", "mango"};
    int len = sizeof(arr) / sizeof(arr[0]);

    sort(arr, arr + len);

    cout << "排序后的数组:";
    for (int i = 0; i < len; i++)
    {
        cout << " " << arr[i];
    }
    cout << endl;

    return 0;
}

输出:

排序后的数组: apple banana kiwi mango orange