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

posted @ 2010-12-20 10:17  Old  阅读(301)  评论(0编辑  收藏  举报