如何用c++语言写qsort函数原理呢
#include
using namespace std;
int cmpint(const void *a,const void *b){
return *(int *)a- *(int *)b ;
}
int cmpchar(const void *a,const void *b){
return *(char *)a- *(char *)b ;
}
void mysort(void p1,int num,int length,int(p2)(const void,const void)){
for(int i=0;i<num-1;i++){
void temp=p1[i];
p2(p1[i],p1[i+1])>0?p1[i+1]=p1[i],p1[i]=temp:p1[i]=temp;
}
}
int main ()
{ int a[10] = {0, 5, 12, 3, 4 ,1,7,6,9,8 };
mysort(a, 10, sizeof(int) , cmpint);
for (int i = 0; i <10; i++)
{ cout<<a[i]<<" ";
}
cout<<endl;
char b[7] = {'e', 'g', 'a', 'f', 'b', 'd','c' };
mysort(b, 7, sizeof(char) , cmpchar);
for (int i = 0; i <7; i++)
{ cout<<b[i]<<" ";
}
return 0;
}