原型
void qsort(void *base, size_t nitems, size_t size, int (*compar)(const void *, const void*))
功 能
使用排序例程compar进行排序。
参数
base -- 指向要排序的数组的第一个元素的指针
nitems -- 由 base 指向的数组中元素的个数。
size -- 数组中每个元素的大小,以字节为单位。
compar -- 用来比较两个元素的函数
int compar(const void *p1, const void *p2);
如果compar返回值小于0(< 0),那么p1所指向元素会被排在p2所指向元素的左面;
如果compar返回值等于0(= 0),那么p1所指向元素与p2所指向元素的顺序不确定;
如果compar返回值大于0(> 0),那么p1所指向元素会被排在p2所指向元素的右面。
头文件
stdlib.h
例
static int dev_cmp(const void *a, const void *b)
{return (int)(*(char *const *)a - *(char *const *)b);
}static int sync_devices_list(void)
{struct ibv_device **new_list;int numb_dev;new_list = ibv_get_device_list(&numb_dev);qsort(new_list, numb_dev, sizeof(struct ibv_device *), dev_cmp);... ...
}
参考:
qsort_百度百科 (baidu.com)