リンク リストを実装する方法: 1. リンク リストのノードを表す Node 構造を定義します。各ノードにはデータ項目と次のノードへのポインターが含まれます。2. LinkedList 構造を定義して、リンク リスト自体 (リンク リストのヘッド ノードへのポインタを含む) 3. 2 つのメソッドが実装されており、append はリンク リストの末尾にノードを挿入するために使用され、printList はリンク リストの要素を出力するために使用されます。 list; 4. このようにして、Go 言語の構造体とポインターを使用して、リンク リストの基本機能を実装できます。
このチュートリアルのオペレーティング システム: Windows 10 システム、go1.20.1 バージョン、Dell G3 コンピューター。
Go 言語では、構造体とポインターを使用してリンク リストを実装できます。以下は、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() }
上の例では、最初にリンク リストのノードを表す Node 構造を定義します。各ノードにはデータ項目と次のノードへのポインターが含まれています。次に、リンク リスト自体を表す LinkedList 構造体を定義します。これには、リンク リストのヘッド ノードへのポインターが含まれます。 2 つのメソッドを実装しました。append はリンク リストの最後にノードを挿入するために使用され、printList はリンク リストの要素を印刷するために使用されます。
このようにして、Go 言語の構造とポインターを使用して、リンク リストの基本機能を実装できます。もちろん、これは単純な例にすぎず、実際のリンク リストは二重リンク リストや循環リンク リストなど、より複雑になる可能性があります。
以上がgolangでリンクリストを実装する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。