C/C++sort/qsort使用详解
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了C/C++sort/qsort使用详解相关的知识,希望对你有一定的参考价值。
sort函数是C++的属于<algorithm>头文件的排序函数,默认为从小到大排序,如果需要降序或者其他更复杂排序规则,可自己编写第三方函数进行排序:sort(array,array+n,cmp); 其中cmp是可选的比较函数。
qsort函数是C语言的属于<stdlib.h>头文件的快速排序函数,qsort(array,array+n,cmp);
下面通过几个例子来说明:
C++:
1.普通升序
#include <iostream>
#include <algorithm>
using namespace std;
int main()
{
int a[10]={7,3,4,6,5,1,2,9,8,0};
sort(a,a+10);
for(int i=0;i<10;i++)
cout<<a[i]<<" ";
return 0;
}
OUTPUT:0 1 2 3 4 5 6 7 8 9
2.普通降序
#include <iostream>
#include <algorithm>
using namespace std;
bool cmp(int a,int b)
{
return a>b;
}
int main()
{
int a[10]={7,3,4,6,5,1,2,9,8,0};
sort(a,a+10,cmp);
for(int i=0;i<10;i++)
cout<<a[i]<<" ";
return 0;
}
OUTPUT:9 8 7 6 5 4 3 2 1 0
3.结构体排序
#include <iostream>
#include <algorithm>
using namespace std;
struct data
{
int a;
int b;
int c;
};
bool cmp(data x,data y)
{
if(x.a!=y.a) return x.a<x.y;
if(x.b!=y.b) return x.b>y.b;
if(x.c!=y.c) return x.c>y.c;
}
int main()
{
.....
sort(array,array+n,cmp);
return 0;
}
C:
(有事出去等下回来继续qwq)
以上是关于C/C++sort/qsort使用详解的主要内容,如果未能解决你的问题,请参考以下文章