X-Git-Url: http://svarog.pmf.uns.ac.rs/gitweb/?p=spa1skripta-public.git;a=blobdiff_plain;f=skripta-spa1-sadrzaj.tex;fp=skripta-spa1-sadrzaj.tex;h=79f0f4ded8d843f43bd8db3dc9f154c74ada9ae6;hp=a31d1cd26d5735b92a4309c8f03aff0c28d906ec;hb=8d373aeecb2c6f1f22f68a6e3c71e908253eb259;hpb=8f60c68b3d98af431755b95cc5b07522b63af596 diff --git a/skripta-spa1-sadrzaj.tex b/skripta-spa1-sadrzaj.tex index a31d1cd..79f0f4d 100644 --- a/skripta-spa1-sadrzaj.tex +++ b/skripta-spa1-sadrzaj.tex @@ -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]