C/C++:sort排序详解

本文介绍了C++中sort函数的基本用法,包括如何对数组进行升序排序以及如何通过自定义比较函数实现降序排序。示例代码展示了sort函数在实际操作中的应用,其时间复杂度为n*log2n,优于传统的排序算法。同时,提供了两种不同的降序排序实现方式,一种是通过自定义compare函数,另一种是直接使用greater<int>()函数对象。
摘要由CSDN通过智能技术生成

sort函数
sort函数用于C++中,对给定区间所有元素进行排序,默认为升序,也可进行降序排序。sort函数进行排序的时间复杂度为n*log2n,比冒泡之类的排序算法效率要高,sort函数包含在头文件为#include的c++标准库中。
(sort 从小到大)

#include<iostream>
#include<algorithm>
using namespace std;
int main()
{
    int a[10]={9,6,3,8,5,2,7,4,1,0};
    for(int i=0;i<10;i++)
    cout<<a[i]<<endl;
    sort(a,a+10);//指针
    for(int i=0;i<10;i++)
    cout<<a[i]<<endl;
    return 0;
}
 


(sort从大到小)

#include<iostream>
#include<algorithm>
using namespace std;
bool compare(int a,int b)
{   
return a>b;
}
int main()
{
int a[10]={9,6,3,8,5,2,7,4,1,0};
for(int i=0;i<10;i++)
cout<<a[i]<<endl;  
sort(a,a+10,compare);//在这里就不需要对compare函数传入参数了   
for(int i=0;i<10;i++)
cout<<a[i]<<endl;
return 0;
}
或者:

#include<iostream>
#include<algorithm>
using namespace std;
int main()
{
int a[10]={9,6,3,8,5,2,7,4,1,0};
for(int i=0;i<10;i++)
cout<<a[i]<<endl;  
sort(a,a+10,greater<int>());  
for(int i=0;i<10;i++)
cout<<a[i]<<endl;
return 0;
}
 

 

 

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值