c++ qsort的使用
qsort函数定义在头文件algorithm中,使用时需要include该头文件
void qsort (void* base,
size_t num,
size_t size,
int (*compar)(const void*,const void*));
cplusplus地址:http://www.cplusplus.com/reference/cstdlib/qsort/?kw=qsort
用法介绍
排序数组元素
base 数组首地址
num 待排序的元素数量
size 元素大小
compare int compar (const void* p1, const void* p2);
格式的比较函数
-
compare return value p1 > p2 > 0 p1 == p2 0 p1 < p2 < 0
使用示例
struct record
{
double ratio;
};
//cmp函数
int compare(const void *r1, const void *r2)
{
if ((*(record *) r1).ratio == (*(record *) r2).ratio) return 0;
if ((*(record *) r1).ratio > (*(record *) r2).ratio) return 1;
return -1;
}
int main{
......
record recs[100];
qsort(recs, 100, sizeof(record), compare);
......
}