快排函数的使用语法

原创 2012年03月22日 15:15:49


以对整型数组排序为例:


头文件

#include<stdlib.h>


函数体

intcmp(const void *a, const void *b)
{
r
eturn(*(int *)a-*(int *)b);

主函数

void main()

{ .int s[100];

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

PS:

1、如果排序的是字符型数组

则在函数体内return(*(int *)a-*(int *)b); 改成 return(*(char *)a-*(char*)b); 

其他类型同理


2、要对其从s[i]开始的m个元素进行排序,只需要在第一个和第二个参数上进行一些修改:qsort(&s[i],m,sizeof(s[i]),cmp);

代码示例:

#include <stdlib.h>
#include <string.h>
#include <stdio.h>

int comp(const void *a,const void *b);//函数声明

int main( )
{
   int i;
   int a[10]={21,56,78,12,36,58,69,44,23,11};
  
     
   qsort( a, 10, sizeof(int),comp);//调用qsort(),其中第一个参数是数组名字,第二个参数是数组元素个数,
                                  //第三个参数是元素所占字节数,第四个是比较方式

  
   for( i = 0; i < 10; ++i )
      printf( " %d  ", a[i] );
   printf( "\n" );
   return 0;
}

int comp(const void* a,const void* b)//定义数据的比较方式是从小到大排序。
{
   int *x=(int *)a;
   int *y=(int *)b;
   return *x-*y;
} 


版权声明:本文为博主原创文章,未经博主允许不得转载。

相关文章推荐

快排函数的使用

快速排序库函数qsort调用细则 2010/06/16 09:20 P.M.                 ...

快排函数qsort调用的使用细则

快速排序库函数qsort调用细则 2010/06/16 09:20 P.M.                   ...

关于几种类型的快排函数的说明

qsort的写法如下: qsort(s,n,sizeof(s[0]),cmp); 其中第一个参数是的参与排序的数组名(或者可以理解成开始排序的地址) 这样的表达式,第二个参数是参与排序的元素个数...

快排中partition函数-java

快排中partition函数非常有用, 其两种实现很难在java这种有jvm干预的情况下测出哪个更优秀, 不知道是不是测试手段比较low? 总的来说, partition2交换的次数少一下. 对算法的...

调用快排函数总结

快速排序 头文件:#include 函数:qsort(首地址,数目,单个元素字节大小,方法(升序/降序)); 实例 //【数组】 #include #include using nam...

boj problem 1331 思路:快排分块 按块查找 问题:全局数组时可以定义到500W的 main函数下的数组不行~ 另外c语言比c++快 TLE可以考虑C~~具体原因待解决

Arsenal与水杯之间的故事Submit: 1169   Accepted:189Time Limit: 1000MS  Memory Limit: 65535KDescription时间:某一天;...

11 互评成绩 (25分)——double类型的快排函数

think: 1结构体double类型成员使用qsort快排函数PTA原题链接11 互评成绩 (25分)学生互评作业的简单规则是这样定的:每个人的作业会被k个同学评审,得到k个成绩。系统需要去掉...

快排函数Patiton来求解第K大的数

利用快速排序的特点:第一遍排序会确定一个数的位置,这个数左边都比它大,右边都比他小(降序),当左边区间大于K时,说明我们求的第K大数在左边区间,这时我们可以舍弃右边区间,将范围缩小到左边区间从而重复上...

C语言快排函数qsort()

原本以为C语言中的快排函数都要靠自己去实现,今天才知道,原来qsort就是C语言中的快排函数,包含在stdlib.h头文件中,函数一共有四个参数,没有返回值。 //int (*cmp)(const v...
  • f_zyj
  • f_zyj
  • 2016-05-23 21:04
  • 4569
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

(最多只允许输入30个字)