Онлайн компилятор C

#include <stdio.h> void bubbleSort(int arr[], int n) { int i, j, temp; for (i = 0; i < n-1; i++) { for (j = 0; j < n-i-1; j++) { if (arr[j] > arr[j+1]) { // Меняем элементы местами temp = arr[j]; arr[j] = arr[j+1]; arr[j+1] = temp; } } } } int main() { int arr[] = {5, 2, 9, 1, 5, 6}; int n = sizeof(arr)/sizeof(arr[0]); int i; printf("Исходный массив: "); for (i = 0; i < n; i++) printf("%d ", arr[i]); printf("\n"); bubbleSort(arr, n); printf("Отсортированный массив: "); for (i = 0; i < n; i++) printf("%d ", arr[i]); printf("\n"); return 0; }
1) Данный код реализует алгоритм сортировки пузырьком: программа сортирует массив целых чисел по возрастанию и выводит на экран исходный и отсортированный массивы.

2) Подсказки:
- Обрати внимание на условие во внутреннем цикле `j < n-i-1`. Подумай, почему с каждой итерацией внешнего цикла диапазон внутреннего уменьшается.
- Для лучшего понимания работы алгоритма, попробуй выполнить его пошагово на листе бумаги для небольшого массива, например, [5, 2, 1], записывая состояние массива после каждого сравнения и обмена.