gpt4 book ai didi

c - 使用c进行冒泡排序

转载 作者:行者123 更新时间:2023-11-30 21:27:25 25 4
gpt4 key购买 nike

我尝试使用 C/C++ 进行冒泡排序。它显示错误的输出。我无法弄清楚错误在哪里。

#include <stdio.h>

#define true 1
#define false 0

int main()
{
int arr[]={26,27,2,38,44,4,19};
int n= sizeof arr/sizeof(int);
int swapped;
int unsorted_index= n-1, temp;
do{
swapped=false;
for(int i=0; i< unsorted_index-1; i++)
if(arr[i]>arr[i+1])
{
temp=arr[i];
arr[i]=arr[i+1];
arr[i+1]=temp;
swapped=true;
}
unsorted_index--;
} while(swapped || unsorted_index);
for(int i=0; i<n; i++)
printf("%d ",arr[i]);
return 0;
}

它显示输出:2 4 26 27 38 44 19

而不是:2 4 19 26 27 38 44

最佳答案

问题是您的循环没有遍历完整的数组。为此:

Replace "unsorted_index= n-1" to "unsorted_index= n".

输出:

2 4 19 26 27 38 44

关于c - 使用c进行冒泡排序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51853967/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com