Golang implementiert eine einfach verknüpfte Liste

王林
Freigeben: 2023-05-13 09:59:06
Original
562 Leute haben es durchsucht

Eine einfach verknüpfte Liste ist eine Datenstruktur, die aus einer Reihe von Knoten besteht. Jeder Knoten enthält Daten und einen Zeiger auf den nächsten Knoten. Der Zeiger des letzten Knotens einer einfach verknüpften Liste ist Null und zeigt das Ende der verknüpften Liste an.

In Golang können wir eine Struktur verwenden, um jeden Knoten zu definieren, und einen Zeiger, um die Position des nächsten Knotens darzustellen. Das Folgende ist eine einfache Implementierung einer einfach verknüpften Liste:

package main

import "fmt"

type Node struct {
    data int
    next *Node
}

type List struct {
    head *Node
}

func (l *List) Insert(val int) {
    newNode := &Node{data: val}

    if l.head == nil {
        l.head = newNode
    } else {
        last := l.Last()
        last.next = newNode
    }
}

func (l *List) Last() *Node {
    node := l.head

    for node.next != nil {
        node = node.next
    }

    return node
}

func (l *List) Traverse() {
    node := l.head

    for node != nil {
        fmt.Printf("%d ", node.data)
        node = node.next
    }

    fmt.Printf("
")
}

func main() {
    l := List{}

    for i := 0; i < 10; i++ {
        l.Insert(i)
    }

    l.Traverse()
}
Nach dem Login kopieren

In dieser Implementierung definieren wir die Knotenstruktur, die Daten und einen nächsten Zeiger enthält, der auf den nächsten Knoten zeigt. Die Listenstruktur stellt die gesamte verknüpfte Liste dar und enthält einen Kopfzeiger, der auf den ersten Knoten zeigt.

Insert-Methode wird verwendet, um einen Wert in die verknüpfte Liste einzufügen. Wenn die verknüpfte Liste leer ist, legen Sie den neuen Knoten direkt als Kopf fest. Andernfalls suchen Sie den letzten Knoten und zeigen seinen nächsten Zeiger auf den neuen Knoten.

Last-Methode gibt den letzten Knoten der verknüpften Liste zurück. Durchlaufen Sie ausgehend vom Kopf die gesamte verknüpfte Liste, bis der letzte Knoten gefunden wird.

Die Traverse-Methode wird verwendet, um die gesamte verknüpfte Liste zu durchlaufen und alle Elemente in der verknüpften Liste auszugeben.

In der Hauptfunktion erstellen wir eine Listeninstanz, fügen Werte ein und durchlaufen die gesamte verknüpfte Liste, um die Ergebnisse auszugeben.

Die obige Implementierung ist nur ein einfaches Beispiel und kann nach Ihren eigenen Bedürfnissen erweitert und modifiziert werden. Es ist erwähnenswert, dass wir in der tatsächlichen Entwicklung beim Schreiben verknüpfter Listen auf Probleme wie Speicherverluste und die Beurteilung von Zeiger-Nullwerten achten müssen, um die Robustheit und Effizienz des Codes sicherzustellen.

Das obige ist der detaillierte Inhalt vonGolang implementiert eine einfach verknüpfte Liste. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage