Sortowanie przez wybór

Sortowanie przez wybór polega na wyszukiwaniu w zbiorze elementów elementu np. najmniejszego i umieszczanie go na pierwszym miejscu w ciągu, wymieniając z elementem tam się znajdującym.

W podobny sposób postępujemy z pozostałymi elementami zbioru. Z pozostałych elementów ponownie wyszukujemy element najmniejszy i zamieniamy go z elementem na drugiej pozycji, itd.

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

Realizacja:
4 1 6 3 - wyszukujemy element najmniejszy - jest to liczba 1, wymieniamy ją z pierwszą

liczbą ciągu ( z liczbą 4)
1 4 6 3   
1 | 4 6 3 - z pozostałych wyszukujemy element najmniejszy - jest to liczba 3,

wymieniamy ją z drugą ( z liczbą 4)

1 3 | 6 4 itd.

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

program sortowanie_przez_wybor;
uses crt;
const n=10;
var
  tab: array[1..n] of integer;
  i,j,k,min:integer;
begin
  clrscr;
  writeln('Sortowanie przez wybor');
  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
  begin
    min:=j;
    for i:= j+1 to n do
      if tab[i] < tab[min] then min:= i;
      k:=tab[min];
      tab[min]:=tab[j];
      tab[j]:=k;
  end;
  writeln('Liczby po sortowaniu:');
  for i:=1 to n do write(tab[i]);
  repeat until keypressed;
end.
  • Sortowanie przez wstawianie
  • Sortowanie przez scalanie
  • Sortowanie bąbelkowe

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