C qsort <stdlib.h> (备忘)

qsort

void qsort(void *base, size_t n_elements, size_t el_size,

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

Example:


/*
 * qsort.c
 *
 * 使用 qsort 对一个元素为某种结构的数组进行排序。
 
*/
 
#include 
<stdlib.h>
#include 
<string.h>

typedef 
struct
{
    
char    key[10];
    
int     other_data;
} Record;

int r_compare(const void *a, const void * b)
{
    
return strcmp( ((Record *)a)->key, ((Record *)b)->key );
}

int main(int argc, char *argv[])
{
    Record    array[
50];

    
/* ...
     * 用50个元素填充数组的代码
     
*/
    
    qsort(array, 
50sizeof(Record), r_compare);

    
/*
     * 现在,数组已经根据结构的关键字字段排序完毕
     
*/
    
    
return 0;
}

 https://files.cnblogs.com/bruceleeliya/qsort.rar

原文地址:https://www.cnblogs.com/bruceleeliya/p/1911044.html