Sortowanie bąbelkowe

Sortowanie bąbelkowe polega na porównywaniu parami kolejnych liczb i w przypadku, gdy są ustawione w nieodpowiedniej kolejności - ich przestawianiu.

Założenie: ciąg liczb do sortowania: 4,1,6,3

Realizacja:

Przebieg pierwszy: 
4 1 6 3 - porównujemy 4 i 1  (należy dokonać przestawienia, gdyż 4>1)
1 4 6 3 - porównujemy 4 i 6  (brak przestawienia)   
1 4 6 3 - porównujemy 6 i 3  (należy dokonać przestawienia, gdyż 6>3)
1 4 3 6 - liczba 6 jest już na właściwym miejscu

Przebieg drugi ( nie zajmujemy się już ostatnia liczbą):

1 4 3 | 6 - porównujemy 4 i 1 (brak przestawienia)   
1 4 3 | 6 - porównujemy 4 i 3 (należy dokonać przestawienia, gdyż 4>3)
1 3 4 | 6 - liczba 4 jest już na właściwym miejscu itd.

Przykładowa realizacja ww. algorytmu w języku Turbo Pascal:

program sortowanie_babelkowe;
uses crt;
const n=10;
var
  tab:array[1..n] of integer;
  i,j,k: integer;
begin
  clrscr;
  writeln('Sortowanie babelkowe');
  writeln('Wprowadzanie liczb');
  for i := 1 to n do
  readln(tab[i]);
  writeln('Liczby przed sortowaniem:');
  for i := 1 to n do write(tab[i]);
  for j := 1 to n - 1 do
    for i := 1 to n - 1 do
      if tab[i] > tab[i+1] then
      begin
        k:= tab[i];
        tab[i]:=tab[i+1];
        tab[i+1]:=k;
      end;
  writeln('Liczby po sortowaniu:');
  for i := 1 to n do write(tab[i]);
  repeat until keypressed;
end.

  • Sortowanie przez wybór
  • Sortowanie przez wstawianie
  • Sortowanie przez scalanie

Komentarze


link Silnią liczby naturalnej n nazywamy iloczyn wszystkich liczb naturalnych nie większych niż n. Oznaczenie symboliczne n! (czytaj: n silnia) wprowadził w 1808 roku francuski matematyk Christian Kramp. Zgo


link Ciąg Fibonacciego to ciąg liczb naturalnych zwanych liczbami Fibonacciego określony rekurencyjnie w sposób następujący:F0 = 0F1 = 1Fn = Fn-1 + Fn-2, dla n ≥ 2Początkowe wartości tego ciągu to:


link Sito Eratostenesa jest sposobem wyznaczania liczb pierwszych zaproponowanym przez greckiego matematyka Eratostenesa. Metoda sita (w założeniu eliminacja) polega na odrzucaniu liczb naturalnych będących wielokrotnościami liczb pie


link program kwadratowe;uses crt;var x1,x2,x,r1,r2,delta,pierwiastek:real;    a,b,c,yw,x0:real;    kla:char;beginrepeat  clrscr;  writeln('Ten program rozwiazuje rownania kwadratowe axx+by+c');  w