gpt4 book ai didi

c - WAP 冒泡排序的 C 程序

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

编写一个 C 程序,对 n 个元素的数组执行冒泡排序。我编写了以下代码,但条件是如果我们发现列表在任何中间点排序

,则停止该过程

请告诉我如何解决这个问题?

#include <stdio.h>
#include <conio.h>

void bubble_sort(int[], int);

void main() {
int arr[30], num, i;

printf("\nEnter no of elements :");
scanf("%d", &num);

printf("\nEnter array elements :");
for (i = 0; i < num; i++)
scanf("%d", &arr[i]);

bubble_sort(arr, num);
getch();
}

void bubble_sort(int iarr[], int num) {
int i, j, k, temp;

printf("\nUnsorted Data:");
for (k = 0; k < num; k++) {
printf("%5d", iarr[k]);
}

for (i = 1; i < num; i++) {
for (j = 0; j < num - 1; j++) {
if (iarr[j] > iarr[j + 1]) {
temp = iarr[j];
iarr[j] = iarr[j + 1];
iarr[j + 1] = temp;
}
}

printf("\nAfter pass %d : ", i);
for (k = 0; k < num; k++) {
printf("%5d", iarr[k]);
}
}
}

最佳答案

技巧是在内部循环中迭代列表元素时计算或测试是否有任何交换,如果不需要交换任何元素,那当然意味着列表是排序的 .

关于c - WAP 冒泡排序的 C 程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30678252/

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