sort

282 阅读1分钟

#include<algorithm>//头文件

举个例子:

 2 #include<algorithm>
 3 using namespace std;
 4 main()
 5 {
 6   //sort函数第三个参数采用默认从小到大
 7   int a[]={45,12,34,77,90,11,2,4,5,55};
 8   sort(a,a+10);//两个参数分别是数组的下标,排序的长度
       //默认的升序排序
 9   for(int i=0;i<10;i++)
10   cout<<a[i]<<" ";     
11 } 

那么看出sort的用法了吧:

int A[N];
bool cmp1(int a,int b)//int为数组数据类型
{
    return a>b;//降序排列
    //return a<b;//默认的升序排列
}
sort(A,A+100,cmp1);

在我举个例子:对数组A的0~n-1元素进行升序排序,只要写sort(A,A+n);

 2 #include<algorithm>
 3 using namespace std;
 4 bool cmp(int a,int b);
 5 main(){
 6   //sort函数第三个参数自己定义,实现从大到小 
 7   int a[]={45,12,34,77,90,11,2,4,5,55};
 8   sort(a,a+10,cmp);
 9   for(int i=0;i<10;i++)
10     cout<<a[i]<<" ";     
11 }
12 //自定义函数
13 bool cmp(int a,int b){
14   return a>b;//当a>b return true;反之return flase;
15 }

ps:可用于结构体 (www.luogu.com.cn/problem/P10… pasteme.cn/68899) //情况二:结构体排序

Student Stu[100];
bool cmp2(Student a,Student b)
{
    return a.id>b.id;//按照学号降序排列
    //return a.id<b.id;//按照学号升序排列
}
sort(Stu,Stu+100,cmp2)

那么这就是sort的用法,很实用