doc. RNDr. Zdeněk Botek, CSc. Třídící algoritmy doc. RNDr. Zdeněk Botek, CSc.
Obsah Select sort Bubble sort Insert sort
Třídící algoritmy Zadání – je dána posloupnost n, a(1), a(2), ,… a(n). Přeskládejte prvky do vzestupného pořadí. Opakovaným hledáním nejmenšího prvku – Select sort Bublinovou metodou – Bubble sort Zatřiďováním – Insert sort
Opakovaným hledáním nejmenšího prvku – Select sort var n, i, minindex, počátek, pom : integer; a : array [1 .. 20] of integer; begin readln(n); i:=0; repeat i:= i+1; readln(a[i]) until i=n; počátek:= 0; repeat počátek:= počátek+1; i:= počátek: minindex:= počátek; repeat i:=i+1: if a[minindex]>a[i] then minindex:=i until i=n; pom:= a[minindex]; a[minindex]:= a[počátek]; a[počátek]:= pom until počátek = n-1; writeln ('uspořádaná posloupnost:'); i:=0; repeat i:-i+1; writeln (a[i]) until i=n end.
Bublinová metoda – Bubble sort var a: array [1..20] of real; pom : real; výměna, i, j, n, konec: integer; begin readln(n); for i:=1 to n do readln(a[i]); konec:=n; repeat výměna:=1; for j:=1 to (konec - 1) do if a[j]>a[j+1] then begin pom:=a[j]; a[j]:=a[j+1]; a[j+1]:=pom; výměna:= j end; konec: =výměna until výměna=1; writeln('uspořádaná posloupnost: '); for i:= 1 to n do writeln(a[i]) end.
Zatřiďování – Insert sort var a : array[1..20] of real; q : boolean; pom : real; i, j, n : integer; begin readln(n); for i:=1 to n do readln(a[i]); for i:=2 to n do begin j:=i-1; pom:=a[i]; q:=false; repeat if pom<a[j] then begin a[j+1]:=a[j]; j:=j-1 end else q:=true until(j=0) or q; a[j+1]:=pom end; writeln('uspořádaná posloupnost: '); for i:=1 to n do writeln(a[i]) end.
Použitá literatura [1] WIRTH, Niklaus. Algorithms data structures=programs. Englewood Cliffs, N.J.: Prentice-Hall, c1976, xvii, 366 p. ISBN 01-302-2418-9. [2] DRÓZD, Januš. Začínáme s programováním. 1.vyd. Praha: Grada, 1992, 306 s. ISBN 80-854-2441-X. [3] TÖPFER, Pavel. Algoritmy a programovací techniky. 2. vyd. Praha: Prometheus, 2007c1995, 300 s. ISBN 978-80-7196-350-9. [4] BOTEK, Zdeněk. Algoritmizace a programování. Vyd 1. Brno: Rektorát Masary-kovy university, 1990, 128 s. ISBN 80-210-0191-7.