qsort 的使用方法

qsort 的使用方法:

一、对int类型数组排序

int num[100];

int cmp ( const void *a , const void *b )

{

  return *(int *)a - *(int *)b;  //升序排序

//return *(int *)b - *(int *)a; //降序排序

/*可见:参数列表是两个空指针,现在他要去指向你的数组元素。所以转型为你当前的类型,然后取值。

        升序排列时,若第一个参数指针指向的“值”大于第二个参数指针指向的“值”,则返回正;若第一个参数指针指向的“值”等于第二个参数指针指向的“值”,则返回零;若第一个参数指针指向的“值”小于第二个参数指针指向的“值”,则返回负。

        降序排列时,则刚好相反。

*/

}

qsort(s,n,sizeof(s[0]),cmp);

 

示例完整函数(已在 VC6.0上运行通过):

#include
#include
#include
int s[10000],n,i;
int cmp(const void *a,const void *b)
{
return(*(int *)b-*(int *)a);  //实现的是升序排序
}
int main()
{

// 输入想要输入的数的个数
scanf("%d",&n);
for(i=0;i scanf("%d",&s[i]);
qsort(s,n,sizeof(s[0]),cmp);
for(i=0;i printf("%d ",s[i]);
return(0);
}

你可能感兴趣的:(qsort 的使用方法)