香蜜初中C班 D8 sort排序
2025-12-11 18:00:09
发布于:广东
排序算法:对一组数据进行排序,升序(从小到大)和降序(从大到小)
C++中的排序函数:
1、sort()函数:默认是升序状态
语法:
sort(要排序的数组名+起始的下标,要排序的数组名+结束的下标+1)
比如sort(a+1,a+n+1);对下标1到n的a数组进行升序排序
2、cmp函数(如果要实现降序必须有cmp函数,写在main函数上面)
sort(要排序的数组名+起始的下标,要排序的数组名+结束的下标+1,cmp);
cmp语法:
bool cmp(要排序的数组数据类型 qian,要排序的数组数据类型 hou){
return qian>hou;//降序实际上就是前面的数据比后面的数据大。所以是qian>hou
}
//int类型升序模板
#include <bits/stdc++.h>
using namespace std;
int main(){
int a[1010],n;
cin>>n;
for(int i=1;i<=n;i++){
cin>>a[i];
}
//起始:1
//终点下标:n
sort(a+1,a+n+1);
for(int i=1;i<=n;i++){
cout<<a[i]<<" ";
}
return 0;
}
//int类型降序模板(需要写cmp函数)
#include <bits/stdc++.h>
using namespace std;
bool cmp(int qian,int hou){
return qian>hou;
}
int main(){
int a[1010],n;
cin>>n;
for(int i=1;i<=n;i++){
cin>>a[i];
}
//起始:1
//终点下标:n
sort(a+1,a+n+1,cmp);
for(int i=1;i<=n;i++){
cout<<a[i]<<" ";
}
return 0;
}
3、排序特别重要:很多算法思想的实现是建立在数据是有序的前提下(二分算法,贪心思想)
这里空空如也
















有帮助,赞一个