二叉树基础
本文最后更新于34 天前,其中的信息可能已经过时,如有错误请发送邮件到larwar@163.com

前序遍历: 根,左,右
中序遍历: 左,根,右
后序遍历: 左,右,根

示例代码:


typedef struct TreeNode{
    int data;
    struct TreeNode *left, *right;
}TreeNode;

TreeNode* createNode(int data) {
    TreeNode* node = (TreeNode*)malloc(sizeof(TreeNode));
    node->data = data;
    node->left = NULL;
    node->right = NULL;
    return node;
}

void pre_order(TreeNode *root){
    if (root == NULL){
        return;
    }
    printf("%d ", root->data);
    pre_order(root->left);
    pre_order(root->right);
}
void in_order(TreeNode  *root){
    if (root == NULL){
        return;
    }
    in_order(root->left);
    printf("%d ", root->data);
    in_order(root->right);
}
void post_order(TreeNode *root){
    if (root == NULL){
        return;
    }
    post_order(root->left);
    post_order(root->right);
    printf("%d ", root->data);
}

Previous
Next