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], gdzie tab to nazwa tablicy, a i to indeks elementu, do którego się odwołujemy.

Polecenie 1

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 iteracjiiteracjaiteracji i skrócić działanie algorytmu?

Przykładowa implementacja algorytmu sortowania bąbelkowego w języku C++

Przeanalizujemy przykładową implementacjęimplementacjaimplementację 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.

R1UQJkJWDk8u91
Wysłuchaj nagrania abstraktu, ułóż do niego pytania i zadaj je koledze.
Źródło: Contentplus.pl Sp. z o.o., licencja: CC BY-SA 3.0.

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.

RzNHmimEsyyCQ1
Ważne!

Obie przedstawione w tej sekcji implementacje są poprawnymi implementacjami algorytmu sortowania bąbelkowego.

Ciekawostka

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

implementacja
implementacja

zapis abstrakcyjnego opisu algorytmu jako programu w wybranym języku programowania

iteracja
iteracja

wielokrotne wykonywanie tych samych operacji (konkretną liczbę powtórzeń lub do spełnienia danego warunku); stosowana najczęściej w pętlach

zagnieżdżenie pętli
zagnieżdżenie pętli

wykonywanie pętli wewnątrz innej istniejącej pętli