不知名的网友.ᥫᩣ༠ 2023-10-15 13:11 采纳率: 95.7%
浏览 2
已结题

冒泡排序结果对一半错一半,还报错

img

img

img

img


麻烦看一下是哪里错了呢,如果照片不方便的话可以看我贴的代码,看一下是哪里错了

  • 写回答

3条回答 默认 最新

  • 关注

    数组越界了, j不能等于len-1, 你的程序当i为0时, j+1越界.

    #include <stdio.h>
    
    void bubble_sort(int arr[], int len)
    {
        int temp;
        for (int i = 0; i != len - 1; i++)
        {
            for (int j = 0; j != len - 1 - i; j++)
            {
                if (arr[j] > arr[j + 1])
                {
                    temp = arr[j];
                    arr[j] = arr[j + 1];
                    arr[j + 1] = temp;
                }
            }
        }
    }
    
    int main()
    {
        int arr[] = {9, 8, 7, 6, 5, 4, 3, 2, 1, 0};
    
        int len = sizeof(arr) / sizeof(arr[0]);
    
        bubble_sort(arr, len);
    
        for (int i = 0; i < len; i++)
        {
            printf("%d ", arr[i]);
        }
    
        return 0;
    }
    
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(2条)

报告相同问题?

问题事件

  • 系统已结题 10月23日
  • 已采纳回答 10月15日
  • 创建了问题 10月15日