Напишите программу C для выполнения сортировки пузырьков по массиву из n элементов. я пишу следующий код, но условие, что остановить процесс, если мы находим, что список сортируется в любой промежуточной точкеWAP a c программа для Bubble sort
пожалуйста скажите, как я решить эту проблему ??
#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]);
}
}
}
Если на определенной итерации вы заметили, что вам не нужно делать какие-либо свопы, что это говорит вам о списке? –