欢迎来到天天文库
浏览记录
ID:52915999
大小:28.50 KB
页数:2页
时间:2020-03-31
《C语言 求一个二叉树中位于先序序列中第k个位置的结点的值.doc》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、编制一个递归算法,求一个二叉树中位于先序序列中第k个位置的结点的值#include#include#defineNULL0typedefcharTElemType;typedefstructBiNode{structBiNode*lchild;TElemTypedata;structBiNode*rchild;}BiNode;structBiNode*CreateBiTree(structBiNode*T){TElemTypea;structBiNode*t;scanf("%c",&a);if(a=='')T=NULL;else{t=
2、(structBiNode*)malloc(sizeof(BiNode));if(t!=NULL){t->data=a;T=t;T->lchild=CreateBiTree(T->lchild);T->rchild=CreateBiTree(T->rchild);}}returnT;}voidshow(structBiNode*T){if(T!=NULL){printf("%c",T->data);show(T->lchild);show(T->rchild);}}inttree(structBiNode*T,intk,inta){if(T==NULL){a=a-1;re
3、turna;}else{if(a==k){printf("%c",T->data);}else{a=tree(T->lchild,k,a+1);a=tree(T->rchild,k,a+1);}returna;}}voidmain(){inti,k;structBiNodet;structBiNode*T;T=&t;printf("inputelementsofBiTree:");T=CreateBiTree(T);printf("theBiTreeis:");show(T);printf("inputk:");scanf("%d",&k);printf("t
4、heresultis:");tree(T,k,1);}
此文档下载收益归作者所有