Sortowanie bąbelkowe

Sortowanie bąbelkowe

Program: przedstawiający sortowanie bąbelkowe tablicy utworzonej przez użytkownika.

Użytkownik podaje ilość liczb które zostają zapisane do tablicy. Tablica ta zostaje następnie posrtowana od wartości minimalnej do maksymalnej przy użyciu metody sortowania bąbelkowego.

Kompilator: Turbo Pascal

Galeria:

Program w akcji.

Kod programu:

program Sortowanie_Babelkowe;
uses crt;
var
   tablica : array [1..10] of Integer;
   a, m, koniec, i : Integer;
begin
     ClrScr;
     Write('Podaj ile chcesz wpisać liczb (max 10): ');
     ReadLn(a);
     for i:= 1 to a do
     begin
          Write('Liczba tablica[',i,']:');
          ReadLn(tablica[i]);
     end;
     WriteLn('Tablica balagan: ');
     for i:= 1 to a do Write(tablica[i],' ');
     WriteLn;
     repeat
     koniec:= 0;
     for i:= a downto 1 do
     begin
          if (abs(tablica[i]) < abs(tablica[i - 1])) and (i - 1 > 0) then
          begin
               m:= tablica[i];
               tablica[i]:= tablica[i - 1];
               tablica[i - 1]:= m;
               koniec:= koniec + 1;
          end;
     end;
     until (koniec = 0);
     WriteLn('Uporządkowana tablica (bezwzględnie): ');
     for i:= 1 to a do Write(tablica[i],' ');
     ReadKey;
end.

Słowniczek pojęć:

Prosta metoda sortowania o złożoności czasowej O(n^2) i pamięciowej O(1). Polega na porównywaniu dwóch kolejnych elementów i zamianie ich kolejności, jeżeli zaburza ona porządek, w jakim się sortuje tablicę. Sortowanie kończy się, gdy podczas kolejnego przejścia nie dokonano żadnej zmiany.