小编Jer*_*Guy的帖子

在C中使用快速排序以反向排序(降序)?

要打电话给我 qsort(myArray,100,sizeof(int), comp)

int comp(const int * a, const int * b)
if(a==b)
{
    return 0;
}
else
{
    if(a<b)
    {
        return -1;
    }
    else
    {
        return 1;
    }
}
Run Code Online (Sandbox Code Playgroud)

首先,这并不是真正的工作,当我数组排序(9,8,7,6,5,4,3,2,1,1),我得到的(4,8,7,6,5,9,3,2,1)-不是真的来分类的.

第二,我如何在另一个方向排序?我需要通过qsort的特殊标志吗?

c arrays sorting data-structures

3
推荐指数
2
解决办法
1万
查看次数

C中的数组QSORT?

如果我有这样的数组:

2, 4, 6, 0, 0, 0, 0, 0, 0
  1. 有没有办法我可以通过排序前3个元素来使用qsort,而其余部分保持不变?
  2. qsort(arrNumbers, 3, sizeof(int), compare)做这个工作吗?
  3. 指定低于完整数组的元素数量是否只会导致元素数量被排序?

编辑:我的比较功能是:

int comp(const int * a, const int * b)
   if(a==b)
   {
       return 0;
   }
   else
   {
      if(a<b)
      {
         return -1;
       }
       else
       {
         return 1;
       }
    }
Run Code Online (Sandbox Code Playgroud)

看起来好吗?

c arrays sorting

0
推荐指数
1
解决办法
556
查看次数

标签 统计

arrays ×2

c ×2

sorting ×2

data-structures ×1