qq_29923139 2015-07-21 12:30 采纳率: 0%
浏览 1405

请问怎么在此程序中使比较次数交换次数输出程序中错误在哪里

#include
#include
#include
#define max_len 5

void generate_arr(int r[], int rLen);
void Qsort(int r[], int l, int h);

int main()
{
int i;
int r[max_len];
generate_arr(r, max_len); //使用方式
Qsort(r,0,max_len-1); //调用快速排序
for(i=0; i<max_len; i++) {
printf("%d, ", r[i]);
}
printf("\n");
return 0;
}

/**

  • 生成随机整数序列
  • r数组用于存储随机序列
  • rLen表示随机序列的长度
    */
    void generate_arr(int r[], int rLen)
    {

    int i;
    srand(1);
    for(i=0; i<rLen; i++)
    {
    r[i] = rand();

    }
    }
    void Qsort(int r[], int l, int h)
    {
    int i, j, x;
    int p=0,k=1;
    if (l {
    i = l;
    j = h;
    x =r[i];
    while (i {
    while(i = x)
    {j--;
    p++;
    } /* 从右向左找第一个小于x的数 /
    if(i < j)
    { r[i++] = r[j];
    k=k+1;
    }
    while(i < j && r[i] <= x)
    { i++;
    p++;
    } /
    从左向右找第一个大于x的数 /
    if(i < j)
    { r[j--] = r[i];
    k=k+1;
    }
    }
    r[i]=x;printf("%s%d","compare:",p);
    printf("%s%d","exchange:",k);
    Qsort(r, l, i-1); /
    递归调用 */
    Qsort(r, i+1, h);
    }

    return;
    }

  • 写回答

2条回答 默认 最新

  • threenewbee 2015-07-21 12:36
    关注
    评论

报告相同问题?

悬赏问题

  • ¥15 树莓派与pix飞控通信
  • ¥15 自动转发微信群信息到另外一个微信群
  • ¥15 outlook无法配置成功
  • ¥30 这是哪个作者做的宝宝起名网站
  • ¥60 版本过低apk如何修改可以兼容新的安卓系统
  • ¥25 由IPR导致的DRIVER_POWER_STATE_FAILURE蓝屏
  • ¥50 有数据,怎么建立模型求影响全要素生产率的因素
  • ¥50 有数据,怎么用matlab求全要素生产率
  • ¥15 TI的insta-spin例程
  • ¥15 完成下列问题完成下列问题