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

更新于:18-Mar-2021

394 次浏览

开启你的 职业

完成课程获得证书

开始学习
广告
© . All rights reserved.