大学IT网 - 最懂大学生的IT学习网站! QQ资料交流群:367606806
当前位置:大学IT网 > 算法技巧 > 二叉树基本操作的程序实现

二叉树基本操作的程序实现(6)

关键词:二叉树C语言  阅读(2331) 赞(31)

[摘要]本文是二叉树基本操作的程序实现,与大家分享。

/************************************************************/
/*                  按层次顺序建立一棵二叉树                */
/************************************************************/
#include"Bintree.h"
 
Bintree Level_Creat()
{
    Bintree root,p,s;
    queue node;
    node.front=node.rear=0;
    char ch;
    ch=getchar();
    if(ch==' ')
    {
        return NULL;
    }
    root=(Binnode*)malloc(sizeof(Binnode)); //生成根结点
    root->data=ch;
    node.data[node.rear++]=root; //用队列实现层次遍历
    while(node.front<node.rear)
    {
        p=node.data[node.front++];
        ch=getchar(); //为了简化操作,分别对左右子结点进行赋值。
        if(ch!=' ')//子树不空则进队列进行扩充。下同
        {
            s=(Binnode*)malloc(sizeof(Binnode));
            s->data=ch;
            p->lchild=s;
            node.data[node.rear++]=s;
        }
        else
        {
            p->lchild=NULL;
        }
        ch=getchar();
        if(ch!=' ')
        {
            s=(Binnode*)malloc(sizeof(Binnode));
            s->data=ch;
            p->rchild=s;
            node.data[node.rear++]=s;
        }
        else
        {
            p->rchild=NULL;
        }
    }
    return root;
}
int main()
{
    Bintree root;
    root=Level_Creat();
    Inorder1(root);//测试,中序遍历
    return 0;
}

«上一页123456下一页»


相关评论