X-Git-Url: http://svarog.pmf.uns.ac.rs/gitweb/?p=spa1skripta-public.git;a=blobdiff_plain;f=skripta-spa1-sadrzaj.tex;h=737cb2a837dd04c5ac731eb0d1d6e6e1d92a806f;hp=a31d1cd26d5735b92a4309c8f03aff0c28d906ec;hb=HEAD;hpb=8f60c68b3d98af431755b95cc5b07522b63af596 diff --git a/skripta-spa1-sadrzaj.tex b/skripta-spa1-sadrzaj.tex index a31d1cd..737cb2a 100644 --- a/skripta-spa1-sadrzaj.tex +++ b/skripta-spa1-sadrzaj.tex @@ -9,8 +9,8 @@ \newcommand{\autor}{Vladimir Kurbalija, Milos Radovanovic, Doni Pracner} \newcommand{\naslov}{Skripta za vezbe iz predmeta "Strukture podataka i algoritmi 1"} -\newcommand{\datum}{Februar 2014, Novi Sad} -\newcommand{\verzija}{ver 14a-\varijacija} +\newcommand{\datum}{April 2014, Novi Sad} +\newcommand{\verzija}{ver 14c-\varijacija} %varijacija je definisana u fajlu koji ukljucuje ovaj \title{\naslov -- \verzija} @@ -873,7 +873,7 @@ BEGIN END; END DodajKraj; -PROCEDURE DodajSort(VAR lista:brojevi; br:CARDINAL); +PROCEDURE DodajSort(VAR lista:brojevi; br:INTEGER); (* dodaje broj tako da lista ostane sortirana (podrazumeva se da je vec sortirana) *) VAR @@ -899,6 +899,31 @@ BEGIN END DodajSort; \end{lstlisting} +Kod svih procedura se mogu primeniti i rekurzivne varijante. Sledi +primer za kreiranje sortirane liste. + +\begin{codeblock} +PROCEDURE DodajSortRek(VAR lista:brojevi; br:INTEGER); +(* Koristi se cinjenica da prosledjujemo pokazivac +po referenci, tj. da ga mozemo menjati unutar procedure *) +VAR + temp : brojevi; +BEGIN + IF (lista = NIL) OR (lista^.info>=br) THEN + (* Izlaz iz rekurzije. Ubacivanje u praznu listu, + na kraj liste ili na odgovarajuce mesto *) + NEW(temp); + temp^.info:=br; + temp^.veza:=lista; + lista:=temp; + ELSE + DodajSortRek(lista^.veza, br); + END; +END DodajSortRek; +\end{codeblock} + +\manbreakJK + \subsection{Zadatak: Prikaz osnovih operacija nad listama} \begin{lstlisting}[style=codeblock] @@ -2482,6 +2507,9 @@ END Rek2. \pagenumbering{Roman} \input{xds-uputstvo} +\sectionbreak +\input{xds-komandna-linija} + \mainend