Algorytm sortowania bąbelkowego (bubble sort) polega na wykonywaniu kolejnych przebiegów po tablicy i porównywaniu par sąsiednich elementów. Jeśli są w złej kolejności, następuje zamiana miejsc. Po jednym pełnym przebiegu największy (dla sortowania rosnącego) element "wypływa" na koniec, a operacja powtarza się dla coraz krótszego fragmentu tablicy.
Na schemacie blokowym typowe są więc elementy:
- pętla zewnętrzna realizująca kolejne przebiegi,
- pętla wewnętrzna porównująca a[i] z a[i+1],
- warunek "czy a[i] > a[i+1]?" (dla porządku rosnącego),
- blok zamiany (swap) wykonywany tylko, gdy warunek jest spełniony.
Dlaczego pozostałe odpowiedzi nie pasują:
- Porządkowanie przez wstawianie działa inaczej: bierze kolejny element i wstawia go w odpowiednie miejsce w już uporządkowanej części, zwykle przesuwając elementy w lewo/prawo. W schemacie dominują kroki "przesuń" i znalezienie pozycji wstawienia, a nie powtarzane zamiany sąsiadów na całej długości.
- Wyszukiwanie maksimum lub minimum prowadzi do znalezienia jednego elementu ekstremalnego (największego/najmniejszego). W takim algorytmie zwykle aktualizuje się zmienną przechowującą bieżące maksimum/minimum i indeks, ale nie wykonuje się serii zamian porządkujących wszystkie elementy.
Wskazówka egzaminacyjna: gdy widzisz na schemacie porównanie sąsiadów i ewentualny swap, myśl o bąbelkowym; gdy widzisz "wstawienie" elementu do uporządkowanej części i przesuwanie wielu elementów, myśl o wstawianiu; gdy jest tylko aktualizacja jednego kandydata na ekstremum, to wyszukiwanie maksimum/minimum.