技术学习博3

补个档,第十周学的还是树

定义创建和输出见博2,这里记录查找和主函数

 1 int chazhao(BiTree shu,char yuanshu)
 2 {//yuanshu为要查找的元素
 3     int jishu=0;//jishu为用来计数的,找到就加1
 4     if(shu==NULL)//空树就返回0
 5         return 0;
 6     
 7     if(shu->data==yuanshu)
 8         return 1;//根节点就找到,那就返回1层
 9     
10     jishu=chazhao(shu->lchild,yuanshu);//左子树
11     if(jishu)//找到了就返回
12         return jishu+1;
13                 
14     jishu=chazhao(shu->rchild,yuanshu);//右子树
15     if(jishu)//找到了就返回
16         return jishu+1;
17                     
18     return 0;//都没找到那就空了呗
19 }
//主函数
void main()
{
    char yuanshu;
    BiTree T;//建空树
    CreateBiTree(&T);//创建树的二叉链表
    Print(T);//输出二叉树元素(先序)

    printf("\n\n请输入要查找的元素:");
    getchar();//吸收回车
    scanf("%c",&yuanshu);//输入要查找的元素
    printf("它在第%d层(0就是没找到)\n",chazhao(T,yuanshu));

    printf("\n请输入要查找的元素:");//第二次查找
    getchar();
    scanf("%c",&yuanshu);
    printf("它在第%d层(0就是没找到)\n",chazhao(T,yuanshu));
}

 

posted @ 2020-05-16 14:20  琥珀色的忧郁  阅读(138)  评论(0编辑  收藏  举报