From: Vladimir Kurbalija Date: Wed, 19 Feb 2014 20:37:52 +0000 (+0100) Subject: DodajSortRek X-Git-Tag: v14b~4 X-Git-Url: https://svarog.pmf.uns.ac.rs/gitweb/?a=commitdiff_plain;h=8d373aeecb2c6f1f22f68a6e3c71e908253eb259;p=spa1skripta-public.git DodajSortRek --- 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]