中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

C語言中怎么用switch函數實現二叉樹

小億
87
2024-05-30 09:32:14
欄目: 編程語言

在C語言中,可以使用switch函數實現二叉樹的遍歷和操作。下面是一個簡單的示例代碼,展示如何使用switch函數實現二叉樹的遍歷:

#include <stdio.h>
#include <stdlib.h>

struct Node {
    int data;
    struct Node* left;
    struct Node* right;
};

void preOrderTraversal(struct Node* root) {
    if (root == NULL) {
        return;
    }
    
    printf("%d ", root->data);
    preOrderTraversal(root->left);
    preOrderTraversal(root->right);
}

void inOrderTraversal(struct Node* root) {
    if (root == NULL) {
        return;
    }
    
    inOrderTraversal(root->left);
    printf("%d ", root->data);
    inOrderTraversal(root->right);
}

void postOrderTraversal(struct Node* root) {
    if (root == NULL) {
        return;
    }
    
    postOrderTraversal(root->left);
    postOrderTraversal(root->right);
    printf("%d ", root->data);
}

int main() {
    struct Node* root = (struct Node*)malloc(sizeof(struct Node));
    root->data = 1;
    
    root->left = (struct Node*)malloc(sizeof(struct Node));
    root->left->data = 2;
    
    root->right = (struct Node*)malloc(sizeof(struct Node));
    root->right->data = 3;
    
    root->left->left = NULL;
    root->left->right = NULL;
    
    root->right->left = NULL;
    root->right->right = NULL;
    
    printf("Preorder traversal: ");
    preOrderTraversal(root);
    printf("\n");
    
    printf("Inorder traversal: ");
    inOrderTraversal(root);
    printf("\n");
    
    printf("Postorder traversal: ");
    postOrderTraversal(root);
    printf("\n");
    
    return 0;
}

在上述代碼中,我們定義了一個簡單的二叉樹結構體Node,并使用switch函數實現了前序、中序和后序遍歷。在main函數中,我們創建了一個包含3個節點的二叉樹,并進行了三種遍歷方式的輸出。您可以根據需要對代碼進行修改和擴展。

0
凤台县| 新乐市| 龙游县| 公主岭市| 安达市| 成安县| 潮州市| 庐江县| 英吉沙县| 江永县| 同德县| 苍南县| 米泉市| 垣曲县| 沛县| 年辖:市辖区| 太谷县| 长海县| 桓台县| 湘阴县| 梓潼县| 茶陵县| 汉源县| 琼结县| 合作市| 康乐县| 竹山县| 自治县| 长武县| 荥经县| 遂昌县| 广河县| 电白县| 霍州市| 红安县| 宁国市| 碌曲县| 保靖县| 和政县| 延寿县| 广丰县|