sort函数排序

sort函数排序

sort函数可以对数组直接排序,这个函数可以传两个参数或三个参数。第一个参数是要排序的区间首地址,第二个参数是区间尾地址的下一地址。排序的区间是[a,b)。默认的排序方式是从小到大。

如果想从大到小,可以在第三个参数传入greater<数组类型>(),以及可以自定义一个模板函数

#include <iostream>
#include<algorithm>

using namespace std;

bool complare(int a, int b) {
    return a > b;
}

int main()
{
    int arr[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10};
    int n = sizeof(arr) / sizeof(arr[0]);
    sort(arr, arr + n, greater<int>() /* complare*/ );
    for(int i =0; i < n; i++)
    {
        cout << arr[i] << " ";
    }
    return 0;
}

`std::sort()` 是 C++ 标准库中的一个非常常用的算法,用于对容器(如数组、向量或列表)进行排序。这个函数属于 `<algorithm>` 库,使用时通常需要包含头文件 `#include <algorithm>`。 `sort()` 函数的基本语法如下: ```cpp template< class RandomIt, class Compare = std::less<RandomIt::value_type> > void sort(RandomIt first, RandomIt last); ``` 参数说明: - `first`:要排序范围的第一个元素迭代器。 - `last`:最后一个元素的下一个位置的迭代器,即排序范围结束的位置。 默认情况下,`sort()` 使用升序(从小到)对元素进行排序,这是由比较函数 `std::less<RandomIt::value_type>()` 决定的,其中 `RandomIt::value_type` 表示容器元素的类型。如果元素类型支持自定义的比较逻辑,你可以提供一个自定义的比较函数 `Compare` 作为第二个参数,例如: ```cpp struct MyComparator { bool operator()(const MyType& a, const MyType& b) const { /* your custom comparison logic here */ } }; // 使用自定义比较函数 std::sort(myVector.begin(), myVector.end(), MyComparator()); ``` 如果你想降序排列,可以通过传递 `std::greater<>` 或者自定义一个逆序的比较函数来实现。 需要注意的是,`sort()` 对于随机访问容器(如数组、vector)效率很高,但对于非随机访问容器(如list、forward_list),它可能会有额外的时间开销,因为这些容器内部没有连续的内存空间可以直接操作。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

程序员shy

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值