当前位置导航:炫浪网>>网络学院>>编程开发>>C++教程>>C++进阶与实例

二叉树的几种运算方法

    1.二叉树的前序遍历
    先访问根结点,再访问左子树,最后访问右子树的次序访问二叉树中所有的结点,且每个结点仅访问一次.
    void preorder(BTree *p)
    {
        if(p!=NULL)
        {   printf("%d",p->data);
            preorder(p->left);
            preorder(p->right);
        }
    }

    2.二叉树的中序遍历
    先访问左子树,再访问根结点,最后访问右子树的次序访问二叉树的所有结点,且每个结点仅访问一次.
    void inorder(btree *p)
    {
        if(p!=NULL)
        {   inorder(p->left);
            printf("%d",p->data);
            inorder(p->right);
        }
    }

    3.后序遍历
    先访问左子树,再访问右子树,最后访问根结点的次序访问二叉树中所有的结点,且每个结点仅访问一次
    void postorder(btree *p)
    {
        if(p!=NULL)
        {   postorder(p->left);
            postorder(p->right);
            printf("%d",p->data);
        }
    }

    4.输出二叉树
    首先输出根结点,然后再输出它的左子树和右子树.依次输出的左,右子树要至少有一个不能为空.
    void print(btree *b)
    {
        if(b!=NULL)
        {   printf("%d",b->data);
            if(b->left!=NULLb->right!=NULL)
            {   printf("(");
                printf(b->left);
                if(b->right!=NULL)printf(",");
                printf(b->right);
                printf(")");
            }
        }
    }

 

共2页 首页 上一页 1 2 下一页 尾页 跳转到
相关内容
赞助商链接