SEM INF 3.11.2010

03.11.2010 18:00

Ďalší sort...

    Dne sme na hodine preberali ďalší sort, a to exchange sort. 

Exchange sort

***

program exchange_sort;
uses Crt;
var i,j,N,pom,min,minimum : integer;
    a : array [1..100] of integer;
begin
  Clrscr;
  randomize;
  write('Zadaj pocet prvkov pola: ');
  readln(N);
  for i:= 1 to N do begin
    a[i]:= random(100)+1; write(a[i],'  ');
  end;
  writeln;
  for i:=1 to N-1 do begin
    min:=i;
    minimum:=200;
    for j:=i+1 to N do
      if minimum>a[j] then begin
        minimum:=a[j];
        min:=j;
      end;
    if a[i]>minimum then begin
      pom:=a[i]; a[i]:=a[min]; a[min]:=pom;
    end;
  end;
  writeln('zoradene to je takto:');
  for i:=1 to N do write(a[i],'  ');
  readln;
end.

***

Tento program je tu
Aplikácia je tu.
Tento program pracoval na princípe: program si najprv vygeneruje pole, potom vezme prvý prvok a potom nájde minimum z tých za ním, a zapamätá si jeho polohu, ak je prvý prvok väčší ako minimum, tak ich vymení. Potom vezme druhý prvok, a nájde minimum z prvkov za ním...a tak ďalej až po predposledný.


Koniec hodiny.

 

—————

Späť