排序我打电话qsort(myArray,100,sizeof(int), comp)
使用快速排序C进行反向排序(降序)?
int comp(const int * a, const int * b)
if(a==b)
{
return 0;
}
else
{
if(a<b)
{
return -1;
}
else
{
return 1;
}
}
首先, 这并没有真正的工作,当我数组排序(9,8,7,6,5,4,3,2,1,1),
我得到(4,8,7,6,5,9,3,2,1)
- 不是真的来分类的。
二, 如何排列其他方向?我需要传递一个特殊的qsort标志吗?
你是什么意思?你有一个比较功能的例子,实际上有效吗?我不确定如何设置比较功能?另外我还以为我的工作,但它返回一个数组...比原来的订单少# –
你测试我的比较功能吗?我很确定它应该起作用。阅读更多,然后阅读qsort的手册页。 http://linux.die.net/man/3/qsort –
我仍然得到相同的顺序4,8,7,6,5,9,3,2,1,1 –