用 法: void qsort(void *base, int nelem, int width, int (*fcmp)(const void *,const void *));   

各参数:

1 待排序数组首地址

2 数组中待排序元素数量

3 各元素的占用空间大小

4 指向比较函数的指针 : 注意这里的比较函数必须是返回int型,且2个形参都是 const void * 类型 ,我们在对比较函数进行实现的时候必须告诉函数传入形参的具体指针类型。

例如:我们要对字符串数组进行排序

 char** strNum = new char*[lenght]; //指向字符指针的指针,即字符串的数组

 qsort(strNum ,lenght ,sizeof(char*), compare);

 int compare(const void* str1 , const void* str2)//传入形参时没有告诉函数具体类型,这里的str1和str2是strNum 数组元素的指针,所以因该是char**类型。
{
return strcmp( *(char**)str1,*(char**)str2 );//先将形参转换成实际类型,然后进行操作,这里是进行解引用,得到字符串值,调用strcmp函数对字符串进行比较。
}

qsort 函数用法的更多相关文章

  1. C语言中qsort函数用法

    C语言中qsort函数用法-示例分析    本文实例汇总介绍了C语言中qsort函数用法,包括针对各种数据类型参数的排序,非常具有实用价值非常具有实用价值. 分享给大家供大家参考.C语言中的qsort ...

  2. qsort函数用法【转】

    qsort函数用法 qsort 功 能: 使用快速排序例程进行排序  用 法: void qsort(void *base, int nelem, int width, int (*fcmp)(con ...

  3. qsort函数用法

    qsort函数用法   qsort 功 能: 使用快速排序例程进行排序 用 法: void qsort(void *base, int nelem, int width, int (*fcmp)(co ...

  4. qsort函数用法(转)

    qsort函数用法   qsort 功 能: 使用快速排序例程进行排序  用 法: void qsort(void *base, int nelem, int width, int (*fcmp)(c ...

  5. C语言qsort函数用法

    qsort函数简介 排序方法有很多种:选择排序,冒泡排序,归并排序,快速排序等. 看名字都知道快速排序是目前公认的一种比较好的排序算法.因为他速度很快,所以系统也在库里实现这个算法,便于我们的使用. ...

  6. 工作总结:qsort函数用法

    qsort(&g_AMTBuf[g_dwAMTLenth], m_nCount, sizeof(12), Compare); 参数说明: 1.待排序数组首地址: 2.数组中待排序元素数量: 3 ...

  7. qsort函数

    qsort函数用法举例 #include <stdio.h> #include <stdlib.h> #include <string.h> //数字比较函数 in ...

  8. (C++)STL排序函数sort和qsort的用法与区别

    主要内容: 1.qsort的用法 2.sort的用法 3.qsort和sort的区别 qsort的用法: 原 型: void qsort(void *base, int nelem, int widt ...

  9. qsort函数的用法

    qsort函数的用法   qsort 功 能: 使用快速排序例程进行排序  用 法: void qsort(void *base, int nelem, int width, int (*fcmp)( ...

随机推荐

  1. 数据结构(启发式合并):HNOI 2009 梦幻布丁

    Description N个布丁摆成一行,进行M次操作.每次将某个颜色的布丁全部变成另一种颜色的,然后再询问当前一共有多少段颜色.例如颜色分别为1,2,2,1的四个布丁一共有3段颜色. Input 第 ...

  2. js中State模式的解析及运用

     状态模式,在大的范畴中的定义为当一个对象的内在状态改变时允许改变其行为,这个对象看起来像是改变了其类.每种编程语言有不同的实现方式,运用的范围也多用于游戏之中. 这里我用javascript来模拟状 ...

  3. spring框架DI(IOC)和AOP 原理及方案

    http://www.blogjava.net/killme2008/archive/2007/04/20/112160.html http://www.oschina.net/code/snippe ...

  4. SRM 409(1-250pt, 1-500pt)

    DIV1 250pt 题意:称string s是vector<string> words的ordered superstring,如果它满足:存在一个数列{x0, x1, x2...xm} ...

  5. 355. Design Twitter

    二刷尝试了别的办法,用MAP代表关注列表. 然后不初始化,但是只要有用户被使用,而他又不在MAP里,就把他加进去,然后让他关注自己.. 但是这样做超时了. 问题在于这个题解法太多,有很多不同的情况. ...

  6. cf493A

    Description Vasya has started watching football games. He has learned that for some fouls the player ...

  7. List<Map<String,String>>操作(遍历,比较)

    1.List<Map<String,String>>的遍历: Map<String,String> map = new HashMap<String, Str ...

  8. 平时Error记录

    The Windows Firewall on this machine is currently 1.This row already belongs to another table. DataT ...

  9. 构建ASP.NET MVC4+EF5+EasyUI+Unity2.x注入的后台管理系统(45)-工作流设计-设计步骤

    原文:构建ASP.NET MVC4+EF5+EasyUI+Unity2.x注入的后台管理系统(45)-工作流设计-设计步骤 系列目录 步骤设计很重要,特别是规则的选择. 我这里分为几个规则 1.按自行 ...

  10. Android自己定义控件而且使其能够在xml中自己定义属性

    为什么要自己定义View android开发中自己定义View的优点是显而易见的.比方说以下的这个顶部导航,它被设计出如今应用的每一个界面,但每次的内容却不尽同样.我们不能在每一个layout资源中都 ...