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

溫馨提示×

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
林西县| 临湘市| 荥阳市| 通辽市| 平阳县| 青州市| 比如县| 蒙山县| 广饶县| 开鲁县| 沭阳县| 兴城市| 玛沁县| 沁源县| 信阳市| 多伦县| 安岳县| 茶陵县| 新宁县| 江阴市| 前郭尔| 安泽县| 德格县| 安宁市| 象州县| 武清区| 城口县| 莱西市| 冀州市| 凭祥市| 银川市| 蒙城县| 惠水县| 青浦区| 临沭县| 晋州市| 长宁区| 黔南| 长垣县| 安岳县| 高台县|