SEM INF 20.10.2010

20.10.2010 20:10

Niečo nové - Sorty

    Dnes som na hodine nebola, poznámky mám od spolužiaka, oni na hodine začali preberať sorty, ako prvý je bubble sort. 

Bublinové usporiadanie-Bubble sort 

    Program pracuje na princípe prebublania poľa. Po každom prebublaní sa najväčší prvok dostane na koniec (tie ktoré sú už na konci nerátame). Je nevyužiteľný v praxi, pretože mu to trvá dlho. Vždy porovnáva dva za sebou idúce prvky a ak je ten druhý menší ako ten prvý tak ich vymení.

Program náhodne vygeneruje 15 čísel do 100 a potom ich zoradí od najmenšieho po najväčší.

***

program bublina;
uses crt;
var i,k,p: integer;
var a: array [1..20] of integer;
begin
  randomize;
  clrscr;
  for i:= 1 to 15 do begin
    a[i]:= random(100)+1; write(a[i],'  ');
  end;
  for k:= 1 to 14 do begin
    for i:=1 to 15-k do
      if a[i] > a[i+1] then begin
        p:=a[i]; a[i]:=a[i+1]; a[i+1]:=p;
      end;
  end;
  writeln;
  writeln('zoradene to je takto');
  for i:=1 to 15 do write(a[i],'  ');
  readln;
end.

***

Tento program je tu.
Tento program pracuje na princípe: Najprv si pozrie všetky prvky od 1. po 14, porovnáva 1. s 2., ak je 2. menší tak ich vymení, potom 2. s 3. a tak ďalej... Najväčší prvok sa tak dostane na koniec. Potom znova pozeráme všetky prvky od prvého po pred-predposledný, posledný je už na svojom mieste, ten pozerať nemusíme, a predposledný si vlastne pozrieme, lebo sa porovná s pred-predposledným...a tak to robí až kým aj najmenší prvok nebude na svojom mieste.
Aplikácia je tu.


Koniec hodiny.

—————

Späť