Go 語言程式用來建立雙向連結串列並向前遍歷。
雙鏈表結點包含三個項,其中兩項指向連結串列中的下一個結點和上一個結點,第三項包含該結點的值。
示例
方法
步驟 1 − 定義一種方法接受雙鏈表的頭部。
步驟 2 − 初始化 temp:=head。
步驟 3 − 遍歷 temp 直到它變為 nil。
步驟 4 − 列印 temp.value.
示例
package main import "fmt" type Node struct { prev *Node value int next *Node } func CreateNewNode(value int) *Node{ var node Node node.next = nil node.value = value node.prev = nil return &node } func TraverseDoublyLL(head * Node){ // Forward Traversal fmt.Printf("Doubly Linked List: ") temp := head for temp!= nil{ fmt.Printf("%d ", temp.value) temp = temp.next } } func main(){ // 10 <=> 20 <=> 30 <=> 40 head := CreateNewNode(10) node_2 := CreateNewNode(20) node_3 := CreateNewNode(30) node_4 := CreateNewNode(40) head.next = node_2 node_2.prev = head node_2.next = node_3 node_3.prev = node_2 node_3.next = node_4 node_4.prev = node_3 TraverseDoublyLL(head) }
輸出
Doubly Linked List: 10 20 30 40
廣告