|
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.Â
|