Algorytm sortowania bąbelkowego
Lekcja 4 z 11 w kursie Sortowanie bąbelkowe w Coddy.
Omówiliśmy iterowanie i zamianę elementów miejscami, ale to nie jest cały algorytm sortowania bąbelkowego. Musimy powtarzać ten proces, aż cała lista zostanie posortowana.
Jak omówiliśmy w poprzednich lekcjach, zauważyliśmy, że po pierwszym przebiegu największy element znajduje się na końcu listy. I właśnie to będziemy starać się osiągnąć podczas kolejnych przebiegów.
Ile więc przebiegów jest potrzebnych? Co, jeśli mamy listę zawierającą n elementów?
Tak, do posortowania całej listy potrzeba n przebiegów.
Wyzwanie
Łatwy Utwórz funkcję o nazwie bubble_sort, która przyjmuje tablicę i jej rozmiar . Przejdź przez tablicę, porównuj sąsiednie elementy i zamieniaj je miejscami. Powtórz ten proces n razy, aby uzyskać posortowaną listę. Zwróć posortowaną listę.
Spróbuj swoich sił
#include <stdio.h>
#include <stdlib.h>
int* bubble_sort(int* arr, int arr_size, int n, int* returnSize) {
// Napisz kod tutaj
*returnSize = n;
return arr;
}
Wszystkie lekcje w sekcji Sortowanie bąbelkowe
1Podstawy sortowania bąbelkowego
WprowadzenieJak działa sortowanie bąbelkoweZamiana sąsiednich elementówAlgorytm sortowania bąbelkowegoPoćwicz samodzielnie: Kompilator C online