欢迎来到天天文库
浏览记录
ID:38760237
大小:13.48 KB
页数:5页
时间:2019-06-19
《二叉树的实现(C语言)》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、#include#includestructTree;typedefTree*BinTree;typedefcharBinTreeNode;structTree{chardata;BinTreeleft;BinTreeright;};BinTreecreateEmptyBinTree(void)//创建一棵空的二叉树。{BinTreep;p=(BinTree)malloc(sizeof(Tree));returnp;}intisNull(BinTreet)//判断二叉树t是否为空。
2、{if(t==NULL){printf("此二叉树为空!");return0;}elsereturn1;}BinTreeconsBinTree()//建立一棵二叉树,其根结点是root,左右二叉树分别为left和right{BinTreeroot;charch;scanf("%c",&ch);if((ch>='A'&&ch<='Z')
3、
4、(ch>='a'&&ch<='z')){root=createEmptyBinTree();root->data=ch;root->left=consBinTree();root-
5、>right=consBinTree();}elseroot=NULL;returnroot;}BinTreeNoderoot(BinTreet)//返回二叉树t的根结点。若为空二叉树,则返回一特殊值。{if(t==NULL)returnNULL;elsereturnt->data;}voidvisit(BinTreeNodec){printf("%c",c);}BinTreeleftChild(BinTreet)//返回t结点的左子树,当指定结点没有左子树时,返回一个特殊值。{if(t->left==NULL)ret
6、urnNULL;elsereturnt->left;}BinTreerightChild(BinTreet)//返回p结点的右子树,当指定结点没有右子树时,返回一个特殊值。{if(t->right==NULL)returnNULL;elsereturnt->right;}voidpreOrder(BinTreet)//显示先根周游序列{if(t!=NULL){visit(root(t));preOrder(leftChild(t));preOrder(rightChild(t));}}voidinOrder(BinTr
7、eet)//显示中根周游序列{if(t!=NULL){inOrder(leftChild(t));visit(root(t));inOrder(rightChild(t));}}voidpostOrder(BinTreet)//显示后根周游序列{if(t!=NULL){postOrder(leftChild(t));postOrder(rightChild(t));visit(root(t));}}voidshow(BinTreet,intlen)//数的形状{if(t!=NULL){show(t->right,len
8、+1);for(inti=1;i<=len;i++){printf("");}printf("%c",t->data);show(t->left,len+1);}}intmain(){BinTreep1;intk=1,num;while(k){printf("&&&&&&&&&&&&&&输入序号执行相应操作&&&&&&&&&&&&&&&&&");printf("输入1,建立一个二叉树!");printf("-------------------------------------------------
9、--");printf("输入2,查看建立的二叉树!");printf("---------------------------------------------------");printf("输入3,先根周游二叉树!");printf("---------------------------------------------------");printf("输入4,中根周游二叉树!");printf("-------------------------------------------
10、--------");printf("输入5,后根周游二叉树!");printf("---------------------------------------------------");printf("输入其他,退出操作!");printf("---------------------------------
此文档下载收益归作者所有