第九周项目三(4) 返回二叉链b中data值为x的节点的层数

来源:互联网 发布:linux查看组内用户 编辑:程序博客网 时间:2024/06/11 03:50

问题及代码

/**Copyright(c)2017,烟台大学计算机学院*All right reserved.*文件名:main.cpp btree.h btree.cpp*作者:王万兴*完成日期:2017年11月9日*版本号:v1.0**问题描述:求返回二叉链b中data值为x的节点的层数*输入描述:无*程序输出:测试结果*/#include <stdio.h>#include "btree.h"int Level(BTNode *b,ElemType x,int h){    int l;    if (b==NULL)        return 0;    else if (b->data==x)        return h;    else    {        l=Level(b->lchild,x,h+1);        if (l==0)            return Level(b->rchild,x,h+1);        else            return l;    }}int main(){    BTNode *b;    CreateBTNode(b,"A(B(D,E(H(J,K(L,M(,N))))),C(F,G(,I)))");    printf("值为\'K\'的节点在二叉树中出现在第 %d 层上n",Level(b,'K',1));    DestroyBTNode(b);    return 0;}
算法库

运行结果





阅读全文
0 0