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

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

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

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

#include"Bintree.h"
/*******************************************************/
/*                  判断两棵是否等价                   */
/*******************************************************/
 
int Is_equal( Bintree t1 , Bintree t2 )
{
    int t=0;
    if(NULL == t1 && NULL == t2)
    {
        t=1;
    }
    else
    {
        if(NULL !=t1 &&NULL != t2 )
        {
            if(t1->data == t2->data)
            {
                if(Is_equal(t1->lchild,t2->lchild))
                {
                    t=Is_equal(t1->rchild,t2->rchild);
                }
            }
        }
    }
    return t;
}
int main()
{
    Bintree t1,t2;
    Creat_Bintree(&t1);
    getchar();
    Creat_Bintree(&t2);
    if(Is_equal(t1,t2))
    {
         printf( "Yes!\n") ;
    }
    else
    {
        printf( "No!\n" ) ;
    }
    
    return 0 ;
}

 
 
 
#include"Bintree.h"
/****************************************************/
/*            查找某个信息是否在这棵树中            */
/****************************************************/
 
Bintree locale_x(Bintree t,char x)
{
    Bintree p;
    if(t==NULL) return NULL;
    else
    {
        if( t -> data == x ) return t;
        else
        {
            p = locale_x(t->lchild,x);
            if(p)return p;
            else
            return locale_x(t->rchild,x);
        }
    }
}
 
int main()
{
    Bintree root,p;
    char ch;
    Creat_Bintree(&root);
    getchar();
    printf("输入要查找的值:");
    scanf("%c",&ch);
    p=locale_x(root,ch);
    if(p)printf( "YES!\n" ) ;
    else printf( "NO!\n" ) ;
    return 0;
}



相关评论