Skip to content
Snippets Groups Projects
Commit 0936d4f0 authored by Peter Gerwinski's avatar Peter Gerwinski
Browse files

Übungsaufgabe 3 vom 16.1.2017: Erklärungen zur doppelt verketteten Liste

parent a0fe192b
No related branches found
No related tags found
No related merge requests found
No preview for this file type
......@@ -26,6 +26,7 @@
\usepackage{enumerate}
\usepackage{ifthen}
\usepackage{gensymb}
\usepackage{tikz}
\newcounter{exercise}
\newcommand{\exercise}[1]{\addtocounter{exercise}{1}\subsection*{Aufgabe \arabic{exercise}: #1}}
......@@ -202,8 +203,40 @@
zum Löschen eines Elements aus der Liste
mit Freigabe des Speicherplatzes.
\points{3}
\end{enumerate}
Eine doppelt verkettete Liste hat in jedem Knotenpunkt (\lstinline{node})
\emph{zwei\/} Zeiger -- einen auf das nächste Element (\lstinline{next})
und einen auf das vorherige Element (z.\,B.\ \lstinline{prev} für "`previous"').
Dadurch ist es leichter als bei einer einfach verketteten Liste,
die Liste in umgekehrter Reihenfolge durchzugehen.
\begin{quote}
\begin{tikzpicture}
\color{blendedblue}
\node(first) at (0,3.5) {first};
\node(NULL1) at (-1,1.25) {NULL};
\node[shape=rectangle,draw,line width=1pt](3) at (1,2) {3};
\node[shape=rectangle,draw,line width=1pt](7) at (3,2) {7};
\node[shape=rectangle,draw,line width=1pt](137) at (5,2) {137};
\node(NULL2) at (7,2.75) {NULL};
\draw[-latex](first)--(3);
\draw[-latex](3) to[out=45,in=135] (7);
\draw[-latex](3) to[out=-135,in=0] (NULL1);
\draw[-latex](7) to[out=-135,in=-45] (3);
\draw[-latex](7) to[out=45,in=135] (137);
\draw[-latex](137) to[out=-135,in=-45] (7);
\draw[-latex](137) to[out=45,in=180] (NULL2);
\end{tikzpicture}
\end{quote}
Der Rückwärts-Zeiger (\lstinline{prev}) des ersten Elements zeigt,
genau wie der Vorwärts-Zeiger (\lstinline{next}) des letzten Elements,
auf \emph{nichts}, hat also den Wert \lstinline{NULL}.
\begin{enumerate}[\quad(a)]\setcounter{enumi}{1}
\item
Schreiben Sie dieses Programm um für doppelt verkettete Listen.
Schreiben Sie das Programm um für doppelt verkettete Listen.
\points{5}
\end{enumerate}
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment