X-Git-Url: http://svarog.pmf.uns.ac.rs/gitweb/?p=spa2-teorijske-vezbe.git;a=blobdiff_plain;f=03.%20Shaker%20sort%2Fkod%2FSHAKER.MOD;fp=03.%20Shaker%20sort%2Fkod%2FSHAKER.MOD;h=0000000000000000000000000000000000000000;hp=5f1ef39c950351b74a041d15f6d18e33e233648e;hb=8a74ce20c68b61b8992a348e34c43671116e9549;hpb=a35f3e51789ace81cea01e548963568da918635f diff --git a/03. Shaker sort/kod/SHAKER.MOD b/03. Shaker sort/kod/SHAKER.MOD deleted file mode 100644 index 5f1ef39..0000000 --- a/03. Shaker sort/kod/SHAKER.MOD +++ /dev/null @@ -1,80 +0,0 @@ -MODULE Shaker; - - FROM IO IMPORT - WrCard, WrStr, RdCard, WrLn, OK; - - CONST - Max = 10; - - TYPE - Indeks = [1 .. Max]; - NizTip = ARRAY Indeks OF CARDINAL; - - VAR - Niz: NizTip; - - PROCEDURE Unos(VAR Niz: NizTip); - VAR - i: Indeks; - BEGIN - FOR i:= 1 TO Max DO - REPEAT - WrStr('Unesite '); - WrCard(i, 2); - WrStr('. clan niza: '); - Niz[i]:= RdCard(); - WrLn; - UNTIL OK; - END; - END Unos; - - PROCEDURE Ispis(VAR Niz: NizTip); - VAR - i: Indeks; - BEGIN - FOR i := 1 TO Max - 1 DO - WrCard(Niz[i], 1); - WrStr(', '); - END; - WrCard(Niz[Max], 1); - END Ispis; - - PROCEDURE ShakerSort(VAR Niz: NizTip); - VAR - Levi, Desni, i, ZadnjiMenjan: Indeks; - Temp: CARDINAL; - BEGIN - Levi:= 2; - Desni:= Max; - ZadnjiMenjan:= Max; - REPEAT - FOR i:= Desni TO Levi BY -1 DO - IF Niz[i - 1] > Niz[i] THEN - Temp:= Niz[i - 1]; - Niz[i - 1]:= Niz[i]; - Niz[i]:= Temp; - ZadnjiMenjan:= i; - END; - END; - Levi:= ZadnjiMenjan + 1; - FOR i:= Levi TO Desni DO - IF Niz[i - 1] > Niz[i] THEN - Temp:= Niz[i - 1]; - Niz[i - 1]:= Niz[i]; - Niz[i]:= Temp; - ZadnjiMenjan:= i; - END; - END; - Desni:= ZadnjiMenjan - 1; - UNTIL Levi > Desni; - END ShakerSort; - -BEGIN - Unos(Niz); - WrStr('Unesen niz: '); - Ispis(Niz); - WrLn; - WrStr('Sortiran niz: '); - ShakerSort(Niz); - Ispis(Niz); -END Shaker.