Go 語言程式,用來計算雙向連結串列中的節點數。


示例

方法

步驟 1 − 定義一個接受雙向連結串列頭的方法。

步驟 2 − 初始化temp:=head, count:=0

步驟 3 − 迭代temp 直到它成為 nil。

步驟 4 − 將count 增加 1。

步驟 5 − 最後,列印count

示例

 演示

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: ")
   count := 0
   temp := head
   for temp!= nil{
      fmt.Printf("%d ", temp.value)
      temp = temp.next
      count++
   }
   fmt.Printf("\nTotal number of nodes: %d", count)
}
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
Total number of nodes: 4

更新於: 18-Mar-2021

101 瀏覽次數

開啟你的 職業生涯

透過完成課程獲取認證

開始
廣告