这是今天的排序算法,直接用函数。虽然我对排序类型的题不陌生,但是今天用的是qsort()函数,而不是我以前常用地sort()函数,他们两个使用起来的感觉其实差不太多。
咱们可以举个例子:
现在有数组n=[9,9,8,2,4,4,3,5,3],数组长度为len=9
用sort()函数实现:
#include<cstdio>
#include<iostream>
#include<algorithm>
using namespace std;
bool omg(int x,int y)
{
return x<y;
}
int main()
{
int n[15]={9,9,8,2,4,4,3,5,3},len=9;
sort(n,n+9,omg);
for(int i=0;i<len;i++)
{
printf("%d ",n[i]);
}
return 0;
}
用qsort实现:
#include<cstdio>
#include<iostream>
#include<algorithm>
using namespace std;
int omg(const void*p1,const void*p2)
{
int v1=*(int*)p1,v2=*(int*)p2;
if(v1>v2)
{
return 1;
}
else
{
if(v1<v2)
{
return -1;
}
else
{
return 0;
}
}
}
int main()
{
int n[15]={9,9,8,2,4,4,3,5,3},len=9;
qsort(n,9,sizeof(int),omg);
for(int i=0;i<len;i++)
{
printf("%d ",n[i]);
}
return 0;
}