Haben wir gute Lösungen für die Mängel der sequentiellen Struktur?
Die verknüpfte Speicherstruktur der linearen Liste, die wir heute vorstellen werden, kann die Mängel der sequentiellen Struktur sehr gut beheben.
Kettenspeicherstruktur, auch verknüpfte Speicherstruktur genannt. Im Computer wird ein Satz beliebiger Speichereinheiten verwendet, um die Datenelemente der linearen Tabelle zu speichern (dieser Satz Speichereinheiten kann kontinuierlich oder diskontinuierlich sein).
Grundlegende Einführung
Es ist nicht erforderlich, dass logisch benachbarte Elemente physisch benachbart sind. Daher weist es nicht die Schwächen der sequentiellen Speicherstruktur auf, verliert aber auch die Zufälligkeit der sequentiellen Liste des Zugriffs.
Merkmale
1. Die Speicherdichte ist kleiner als die sequentielle Speicherstruktur (jeder Knoten in der Kettenspeicherstruktur besteht aus einem Datenfeld und einem Zeiger Die Domäne besteht aus zwei Teilen, was den Speicherplatz im Vergleich zur sequentiellen Speicherstruktur erhöht.
2. Logisch benachbarte Knoten müssen nicht physisch benachbart sein.
3. Flexibles Einfügen und Löschen (kein Verschieben des Knotens erforderlich, einfach den Zeiger im Knoten ändern).
4. Verketteter Speicher ist bei der Suche nach Knoten langsamer als sequenzieller Speicher.
5. Jeder Knoten besteht aus einem Datenfeld und einem Zeigerfeld.
6. Da Cluster zufällig zugewiesen werden, verringert sich auch die Wahrscheinlichkeit eines Überschreibens nach dem Löschen der Daten und erhöht die Möglichkeit einer Wiederherstellung.
Empfohlener Kurs: C Language Tutorial.
Das letzte Element der linearen Liste hat keinen direkten Nachfolger, daher setzen wir im verknüpften Speicher das Zeigerfeld des letzten Knotens auf Null.
Machen wir das. Schauen wir uns das an Spezifische Code-Implementierung einer einfach verknüpften Liste
typedef struct LNode{ ElemType data; //数据域 struct LNode *next; //指针域,用来指向本节点的直接后继 }LNode,*LinkList; //定义节点,以及头指针
Viele Schüler können die Beziehung und den Unterschied zwischen dem Kopfzeiger, dem Kopfknoten und dem ersten Knoten nicht unterscheiden. Lassen Sie uns unten eine einfache Unterscheidung treffen .
Kopfzeiger: Es ist ein Zeiger auf die verknüpfte Liste. Wenn die verknüpfte Liste einen Kopfknoten hat, zeigt sie auf den Kopfknoten: Ein Hilfsknoten davor der erste Knoten. Der nächste Knoten zeigt auf den ersten Knoten
Der erste Knoten: Es ist ein Knoten, die Datenvariable speichert die ersten Daten und die nächste Zeigervariable zeigt auf den zweiten Knoten
Hier ist zu beachten, dass der Kopfzeiger ein notwendiges Element einer verknüpften Liste ist, der Kopfknoten jedoch nicht. Welche Bedeutung hat also die Existenz des Kopfknotens?
Mein persönliches Verständnis besteht darin, die Einfügungs- und Löschvorgänge des ersten Knotens mit den Vorgängen nachfolgender Knoten in Einklang zu bringen. Andernfalls müssen wir den Kopfzeiger ändern, wenn wir den ersten Knoten ändern.
Wenn kein Kopfknoten vorhanden ist, zeigt der Kopfzeiger direkt auf den ersten Knoten.
Das obige ist der detaillierte Inhalt vonVerknüpfte Speicherstruktur einer linearen Tabelle. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Heiße KI -Werkzeuge

Undresser.AI Undress
KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover
Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool
Ausziehbilder kostenlos

Clothoff.io
KI-Kleiderentferner

AI Hentai Generator
Erstellen Sie kostenlos Ai Hentai.

Heißer Artikel

Heiße Werkzeuge

PHPStorm Mac-Version
Das neueste (2018.2.1) professionelle, integrierte PHP-Entwicklungstool

Senden Sie Studio 13.0.1
Leistungsstarke integrierte PHP-Entwicklungsumgebung

SAP NetWeaver Server-Adapter für Eclipse
Integrieren Sie Eclipse mit dem SAP NetWeaver-Anwendungsserver.

SublimeText3 Mac-Version
Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

VSCode Windows 64-Bit-Download
Ein kostenloser und leistungsstarker IDE-Editor von Microsoft