欧美1区2区3区激情无套,两个女人互添下身视频在线观看,久久av无码精品人妻系列,久久精品噜噜噜成人,末发育娇小性色xxxx

根據(jù)層序創(chuàng)建樹,前中后序遍歷,刪除


TreeNode* createTree(const int arr[], const int n, const int num_val = -1)
{
    if (n <= 0 || arr[0] == num_val) return nullptr;

    std::queue<TreeNode*> q;
    TreeNode* root = new TreeNode(arr[0]);
    q.push(root);

    int i = 1;
    while (!q.empty() && i < n)
    {
        TreeNode* cur = q.front();
        q.pop();

        if (i < n && arr[i] != num_val)
        {
            cur->left = new TreeNode(arr[i]);
            q.push(cur->left);
        }
        i++;
        if (i < n && arr[i] != num_val)
        {
            cur->right = new TreeNode(arr[i]);
            q.push(cur->right);
        }
        i++;
    }

    return root;
}

void preOrder(const TreeNode* tree)
{
    if (nullptr == tree) return;
    printf("%d ", tree->val);
    preOrder(tree->left);
    preOrder(tree->right);
}

void inOrder(const TreeNode* tree)
{
    if (nullptr == tree) return;
    inOrder(tree->left);
    printf("%d ", tree->val);
    inOrder(tree->right);
}

void postOrder(const TreeNode* tree)
{
    if (nullptr == tree) return;
    postOrder(tree->left);
    postOrder(tree->right);
    printf("%d ", tree->val);
}

void deleteTree(TreeNode*& tree)
{
    if (nullptr == tree) return;
    deleteTree(tree->left);
    deleteTree(tree->right);
    tree->left = nullptr;
    tree->right = nullptr;
    delete tree;
    tree = nullptr;
}

int main()
{
    int nums[] = { 10, 20, 30, 25, -1, 40, 50, -1, -1, -1, 60 };
    TreeNode* root = createTree(nums, sizeof(nums) / sizeof(int));
    preOrder(root);
    printf("\n");
    inOrder(root);
    printf("\n");
    postOrder(root);
    deleteTree(root);

    return 0;
}

全部評論

相關推薦

點贊 評論 收藏
分享
評論
點贊
收藏
分享

創(chuàng)作者周榜

更多
??途W
??推髽I(yè)服務