2012-03-24 2 views
0

Gibt es eine doppelt verknüpfte Listenimplementierung in C++, die die Änderung des vorherigen Zeigers ermöglicht. Zum Beispiel kann anstelle des vorherigen Zeigers, der auf den vorherigen Knoten zeigt, so modifiziert werden, dass er auf die Vorderseite der Liste zeigt, und somit muss nur vorher aufgerufen werden, um direkt zum Anfang einer Liste zu gelangen.Alle STL doppelt verbundenen Implementierungen mit Zeiger auf Kopf statt vorheriger

+0

Sie meinen, Sie wollen alles von vorne bis zu Ihrem Element löschen? –

+2

Das scheint eine wirklich merkwürdige Art zu sein, eine doppelt verkettete Liste zu verwenden. [Was versuchst du wirklich zu tun] (http://mywiki.wooled.org/XyProblem)? –

+3

Implementieren Sie es selbst. Die Standardbibliothek hat 'std :: list' als doppelt verknüpfte Liste, aber es wird nicht erlaubt, mit den Knoten zu spielen, die intern verwaltet werden. – Nawaz

Antwort

0

Wenn Sie den Kopf einer STL-Liste möchten, rufen Sie einfach list<>::begin(). Ein Zeiger auf den Kopf der Liste wird von den üblichen Implementierungen gespeichert, und wenn Sie es buchstäblich als Zeiger benötigen, sagen Sie einfach &myList.front() (prüfen Sie zuerst auf leer!).

Verwandte Themen