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
廣告