dreifach verkettete liste
-
ich habe folgende angabe:
Implementieren Sie die Datenstruktur einer dreifach verketteten Zeigerliste als Klasse. Die Klasse soll ganzzahlige Werte aufnehmen können. Implementieren sie u.A. folgende Methoden :
Konstruktor und Kopierkonstruktor
Destruktor
Einhängen eines neuen Elements
Sortieren der Datenstruktur aufsteigend ( bel. Sortierverfahren )
Sortieren der Datenstruktur absteigend ( bel. Sortierverfahren )
Löschen eines beliebigen Elements
Ausgabe der Liste
Hinweis : Der Schwerpunkt liegt in der Listenmanipulation – und nicht in der grafischen Verarbeitung, ein einfaches Menü ist ausreichend. Wählen Sie für den „dritten“ Zeiger einen geeigneten Verweis, um die Abarbeitung der Liste zu vereinfachen.nur hilft mir auch der hinweis nicht weiter....
mfg
-
implementierung als doppelt verkettete liste ist offensichtlich.
Konstruktor //naja, begin=end=0
und Kopierkonstruktor //als queue angelegt, als reinpushen
Destruktor //while(!isEmpty())pop();
Einhängen eines neuen Elements //wo? am anfang? zwiscen begin und begin->pred einklingen
//oh, zu viele ifs, liste zum ring machen
//oh, ein leeres element auf einmal, kann weg, aber hier lass ichs einfach mal leben
Sortieren der Datenstruktur aufsteigend ( bel. Sortierverfahren )//wuicksort ist auf queues ideal einfach
Sortieren der Datenstruktur absteigend ( bel. Sortierverfahren )//dito
Löschen eines beliebigen Elements//prev->pred=pred;pred->prev=prev;
Ausgabe der Liste//somple for-schleifeaber jetzt kommts!
Wählen Sie für den „dritten“ Zeiger einen geeigneten Verweis, um die Abarbeitung der Liste zu vereinfachen.
da sag ich nur "hä?". was hat der prof denn da im tee gehabt? wie kann noch ein weiterer zeiger da was vereinfachen? an der liste it doch nichts, was noch trivialer gehen könnte.
-
Original erstellt von volkard:
**
Kopierkonstruktor //als queue angelegt, als reinpushen
Destruktor //while(!isEmpty())pop();
Einhängen eines neuen Elements //wo? am anfang? zwiscen begin und begin->pred einklingen
//oh, zu viele ifs, liste zum ring machen
//oh, ein leeres element auf einmal, kann weg, aber hier lass ichs einfach mal leben
.
.
.
aber jetzt kommts!
Wählen Sie für den „dritten“ Zeiger einen geeigneten Verweis, um die Abarbeitung der Liste zu vereinfachen.
da sag ich nur "hä?". was hat der prof denn da im tee gehabt? wie kann noch ein weiterer zeiger da was vereinfachen? an der liste it doch nichts, was noch trivialer gehen könnte.**den kopierkonstruktor hab ich nicht wirklich verstanden....
was meinst du mit pop() beim destruktor?
und was du mit liste zu ring machen meinst ist mir auch nicht ganz klar...
und was der prof mit dem dritten zeiger meint sowieso nicht....
mfg
-
pop löscht das letzte Element einer liste
-
wenn du viel zeit hast, bring ich dir gerne dopelt verkettete listen a la volkard bei, indem ich zunächst ne queue als liste mit konstruktor, void push(double), double peek(), void pop() und bool isEmpty() bestelle und dann so lange dran rummeckere bis sie meine wünsche erfüllt.
-
den driten zeiger könnte man benutzen um in der zweifach verketten liste eine zweite einfach verkette liste machten, die z.b. sortiert ist aber dadurch wirds nicht trivialer
-
viel zeit hab ich leider nicht....
-
..
-
Is nur so ne Idee,aber vielleicht macht es für die Sortierung Sinn den dritten Zeiger auf das jeweils "mittlere" Listenelement zeigen zu lassen?
Stichwort binäres SuchenMfG Spacelord
-
Original erstellt von Spacelord:
Is nur so ne Idee,aber vielleicht macht es für die Sortierung Sinn den dritten Zeiger auf das jeweils "mittlere" Listenelement zeigen zu lassen?
Stichwort binäres Suchen
MfG Spacelordsehe kein binäres suchen. strichwort quicksort.