老坛秃菜 2022-10-17 16:45 采纳率: 0%
浏览 11

关于#c语言#的问题:写了快速排序的程序

问题遇到的现象和发生背景

写了快速排序的程序,求大家帮忙看看是哪里出问题了啊

用代码块功能插入代码,请勿粘贴截图

void qsort(int* arr, int lo,int hi)
{
int mid = arr[lo];
int temp;
int i = lo;
int j = hi;

while (i < j)//停下
{
    while (arr[j] > arr[mid])
    {
        j--;
    }//j向左遍历,直到停下

    while (arr[i] < arr[mid])
    {
        i++;
    }//i向右遍历,直到停下

    if (i < j)
    {
        //交换arr[i]与arr[j]
        temp = arr[i];
        arr[i] = arr[j];
        arr[j] = temp;
    }
}

arr[lo] = arr[i];
arr[i] = mid;


qsort(arr,lo,i-1);
qsort(arr,j+1,hi);

}

int main()
{
int a[] = {3,4,6,2,5,7,10};
int n = sizeof(a) / sizeof(a[0]);
int lo = 0;
int hi = n - 1;
qsort(a, lo, hi);
for (int i = 0; i < hi; i++)
{
printf("%d",a[i]);
}
return 0;

}

运行结果及报错内容

是死循环,哭了

  • 写回答

1条回答 默认 最新

  • 快乐鹦鹉 2022-10-17 16:50
    关注

    int mid = (lo+hi)/2;

    评论

报告相同问题?

问题事件

  • 创建了问题 10月17日

悬赏问题

  • ¥30 电脑误删了手机的照片怎么恢复?
  • ¥15 (标签-python|关键词-char)
  • ¥15 python+selenium,在新增时弹出了一个输入框
  • ¥15 苹果验机结果的api接口哪里有??单次调用1毛钱及以下。
  • ¥20 学生成绩管理系统设计
  • ¥15 来一个cc穿盾脚本开发者
  • ¥15 CST2023安装报错
  • ¥15 使用diffusionbert生成文字 结果是PAD和UNK怎么办
  • ¥15 有人懂怎么做大模型的客服系统吗?卡住了卡住了
  • ¥20 firefly-rk3399上启动卡住了