Przeczytaj
Przypomnijmy kilka aspektów związanych ze składnią języka C++:
Tablicę o typie całkowitym (
Integer
) i wielkości 7 deklarujemy w następujący sposób:int tab[7]
.W celu uzyskania konkretnego elementu tablicy należy użyć notacji
tab[i]
, gdzietab
to nazwa tablicy, ai
to indeks elementu, do którego się odwołujemy.
Przeszukaj dostępne źródła i odpowiedz na pytania:
W jaki sposób zamienia się elementy tablicy miejscami przy założeniu, że nie można wykorzystać funkcji
zamień(ciąg[i], ciąg[i+1])
?Czy rozwiązanie zaprezentowane w prezentacji jest w pełni optymalne?
Jakie usprawnienia można wprowadzić, aby uniknąć niepotrzebnych iteracjiiteracji i skrócić działanie algorytmu?
Przykładowa implementacja algorytmu sortowania bąbelkowego w języku C++
Przeanalizujemy przykładową implementacjęimplementację algorytmu sortowania bąbelkowego. Przedstawiony program posortuje niemalejąco zadany ciąg liczb całkowitych zawartych w tablicy. Implementacja będzie bazować na porównywaniu i ewentualnej zamianie kolejności elementów.
Alternatywna implementacja algorytmu sortowania bąbelkowego w języku C++
Ponownie stworzymy program sortujący niemalejąco ciąg liczb całkowitych zapisanych w tablicy. Tym razem algorytm zaimplementujemy, bazując na porównywaniu wybranego elementu z elementem go poprzedzającym zamiast porównania z elementem następującym po nim.
Obie przedstawione w tej sekcji implementacje są poprawnymi implementacjami algorytmu sortowania bąbelkowego.
Nazwa sortowanie bąbelkowe nawiązuje do faktu, że dane z każdą iteracją są wyrzucane do góry, podobnie jak bąbelki w napojach gazowanych.
Słownik
zapis abstrakcyjnego opisu algorytmu jako programu w wybranym języku programowania
wielokrotne wykonywanie tych samych operacji (konkretną liczbę powtórzeń lub do spełnienia danego warunku); stosowana najczęściej w pętlach
wykonywanie pętli wewnątrz innej istniejącej pętli