R1M9ZW9vc6u3K
Zdjęcie przedstawia bąbelki na niebieskim tle.

I_P_W14_M11_C++ Sortowanie bąbelkowe w języku C++

Źródło: Eliška Motisová, domena publiczna.
bg‑gray4

W tym e‑materiale częściowo powtarzamy treści ze szkoły podstawowej.

Sortowanie to inaczej porządkowanie, układanie elementów, przedmiotów czy liczb w określonej kolejności. Możemy sortować – porządkować – ubrania, książki, ale także łańcuchy znaków lub liczby.

Głównym zadaniem algorytmów sortowania jest ustawienie danych w określonej kolejności, sprecyzowanej dla danego zbioru. Możesz np. ustawić uczniów danej klasy według wzrostu lub wieku.

Dzięki algorytmom sortowania możemy ułatwić lub umożliwić wykorzystanie wydajnych algorytmów np. wyszukujących oraz prezentować dane w sposób czytelniejszy i prostszy w odbiorze. Wróćmy do przykładu klasy. Jeśli chcesz np. znaleźć najniższą osobę w klasie, przyglądasz się całej grupie (zbiorowi) i na tej podstawie znajdujesz odpowiednią osobę (element). W przypadku grupy uczniów ustawionych według wzrostu (posortowanych), twoje zadanie jest prostsze.

Sortowanie to jeden z podstawowych problemów informatyki. Polega na uporządkowaniu zbioru danych względem pewnych cech charakterystycznych. Często stanowi ono fragment rozwiązania innego zadania, ponieważ niektóre algorytmy działają tylko na zbiorach uporządkowanych. Sortowaniu często podlegają ogromne zbiory danych. Dlatego tak ważne jest, aby sortować efektywnie, to znaczy zużywając jak najmniej dodatkowej pamięci oraz czasu.

Wyobraź sobie, że wrzucasz do wody garść kulek o różnych rozmiarach. Najcięższe opadają na dno, a lżejsze unoszą się ku górze. W świecie informatyki istnieje algorytm, który działa podobnie – to sortowanie bąbelkowe (ang. bubble sort). Choć nie jest najszybsze, jego prostota sprawia, że idealnie nadaje się na pierwszy kontakt z algorytmami sortującymi.

Ćwiczenie na rozgrzewkę

R10HWTIqhUl1Q
Ćwiczenie 1
Twoje cele
  • Prześledzisz informacje dotyczące sortowania danych.

  • Przeanalizujesz krok po kroku implementację algorytmu sortowania bąbelkowego w języku C++.

  • Zaimplementujesz program realizujący algorytm sortowania bąbelkowego.