91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

Go中如何使用遞歸函數遍歷樹形數據結構

go
小億
106
2024-04-02 19:29:06
欄目: 編程語言

在Go中,可以使用遞歸函數來遍歷樹形數據結構。下面是一個示例代碼,演示了如何使用遞歸函數遍歷一棵二叉樹:

package main

import "fmt"

type Node struct {
    Value int
    Left  *Node
    Right *Node
}

func traverseTree(node *Node) {
    if node == nil {
        return
    }
    
    // 遍歷左子樹
    traverseTree(node.Left)
    
    // 打印當前節點的值
    fmt.Println(node.Value)
    
    // 遍歷右子樹
    traverseTree(node.Right)
}

func main() {
    // 構建一棵二叉樹
    root := &Node{
        Value: 1,
        Left: &Node{
            Value: 2,
            Left: &Node{
                Value: 4,
                Left: nil,
                Right: nil,
            },
            Right: &Node{
                Value: 5,
                Left: nil,
                Right: nil,
            },
        },
        Right: &Node{
            Value: 3,
            Left: &Node{
                Value: 6,
                Left: nil,
                Right: nil,
            },
            Right: nil,
        },
    }
    
    // 遍歷二叉樹
    traverseTree(root)
}

在這個示例代碼中,我們首先定義了一個簡單的二叉樹節點結構Node,包含一個整數值Value和左右子節點LeftRight。然后定義了一個遞歸函數traverseTree,用來遍歷二叉樹。在函數中,首先判斷當前節點是否為空,如果為空則直接返回;然后遞歸遍歷左子樹、打印當前節點的值、再遞歸遍歷右子樹。最后在main函數中構建了一棵二叉樹,并調用traverseTree函數進行遍歷。

0
三江| 汉源县| 永和县| 万宁市| 新竹县| 新营市| 澜沧| 微博| 贵溪市| 青田县| 肇州县| 河北区| 广安市| 灌云县| 昭苏县| 蓝山县| 中卫市| 淄博市| 牟定县| 塔河县| 太和县| 丹凤县| 濉溪县| 南昌市| 平利县| 崇文区| 宿州市| 梅河口市| 长顺县| 当涂县| 康平县| 宜城市| 阳山县| 司法| 襄垣县| 长治县| 定远县| 新平| 客服| 龙门县| 修武县|