C语言 qsort() 函数

/**
函数原型:

#include <stdlib.h>
void qsort( void *buf, size_t num, size_t size, int (*compare)(const void *, const void *) );
**/

// For example:

int compare( const void* a, const void* b )
{
   int* arg1 = (int*)a;
   int* arg2 = (int*)b;
   if ( *arg1 < *arg2 ) return -1;
   else if ( *arg1 == *arg2 ) return 0;
   else return 1;               //此为降序排列
}

int cmp( const void* a, const void* b )
{
    return *(int*)a - *(int*)b;     //简洁的写法,为升序排列
}

// qsort()还可以对字符串排序,如下
int cmp( const void* a, const void* b )
{
    return strcmp((char*)a, (char*)b);
}

你可能感兴趣的:(C语言 qsort() 函数)