Maison >développement back-end >Golang >Comment implémenter une liste chaînée dans Golang
Comment implémenter une liste chaînée : 1. Définissez une structure Node pour représenter les nœuds de la liste chaînée. Chaque nœud contient un élément de données et un pointeur vers le nœud suivant. 2. Définissez une structure LinkedList pour représenter la liste chaînée elle-même ; . , qui contient un pointeur vers le nœud principal de la liste chaînée ; 3. Deux méthodes sont implémentées, append est utilisée pour insérer un nœud à la fin de la liste chaînée et printList est utilisée pour imprimer les éléments de la liste chaînée ; 4. De cette manière, la structure du langage Go peut être utilisée et des pointeurs pour implémenter les fonctions de base des listes chaînées.
Le système d'exploitation de ce tutoriel : système windows10, version go1.20.1, ordinateur Dell G3.
Dans le langage Go, les structures et les pointeurs peuvent être utilisés pour implémenter des listes chaînées. Ce qui suit est un exemple simple qui montre comment implémenter une simple liste chaînée unidirectionnelle en langage Go :
package main import "fmt" // 定义链表节点 type Node struct { data int next *Node } // 定义链表 type LinkedList struct { head *Node } // 在链表末尾插入节点 func (list *LinkedList) append(data int) { newNode := &Node{data: data, next: nil} if list.head == nil { list.head = newNode return } lastNode := list.head for lastNode.next != nil { lastNode = lastNode.next } lastNode.next = newNode } // 打印链表元素 func (list *LinkedList) printList() { currentNode := list.head for currentNode != nil { fmt.Printf("%d -> ", currentNode.data) currentNode = currentNode.next } fmt.Println("nil") } func main() { // 创建链表 var list LinkedList list.append(1) list.append(2) list.append(3) // 打印链表 list.printList() }
Dans l'exemple ci-dessus, nous définissons d'abord une structure Node pour représenter les nœuds de la liste chaînée, chaque nœud contient un élément de données et un pointeur vers le nœud suivant. Ensuite, nous définissons une structure LinkedList pour représenter la liste chaînée elle-même, qui contient un pointeur vers le nœud principal de la liste chaînée. Nous avons implémenté deux méthodes, append est utilisée pour insérer des nœuds à la fin de la liste chaînée et printList est utilisée pour imprimer les éléments de la liste chaînée.
De cette façon, nous pouvons utiliser les structures et les pointeurs du langage Go pour implémenter les fonctions de base des listes chaînées. Bien sûr, il ne s'agit que d'un exemple simple, et les listes chaînées réelles peuvent être plus complexes, comme les listes doublement chaînées, les listes chaînées circulaires, etc.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!