qsort归纳学习(c语言版本)

参考:https://www.cnblogs.com/ForeverJoker/archive/2013/05/25/qsort-sort.html

包含在<stdlib.h>

int (*cmp)(const void *,const void *);

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

包含4个参数,第一个传入位置,第二个排序的量,第三个单个大小,第四个排序方式

对数组的排序

int 型

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

      return *(int*)a - *(int*)b;//由小到大排序

       //return *(int *)b - *(int *)a; 由大到小排序 }

cmp函数的返回值,<0(不进行置换),>0(进行置换),0(不进行置换)。

double型:

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

     return((*(double*)a - *(double*)b>0)?1:-1); }

char:

    return (*(char *)a - *(char *)b);

struct型:

  待定

char s[][]型:

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

      return (strcmp((char*)a, (char*)b)); }

 

posted @ 2018-07-05 18:23  leolaosao  阅读(147)  评论(0编辑  收藏  举报