二叉树的实现(C语言).doc

二叉树的实现(C语言).doc

ID:49864647

大小:77.00 KB

页数:5页

时间:2020-03-05

二叉树的实现(C语言).doc_第1页
二叉树的实现(C语言).doc_第2页
二叉树的实现(C语言).doc_第3页
二叉树的实现(C语言).doc_第4页
二叉树的实现(C语言).doc_第5页
资源描述:

《二叉树的实现(C语言).doc》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

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();r

5、oot->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==NU

6、LL)returnNULL;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));}}voidinOrd

7、er(BinTreet)//显示中根周游序列{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-

8、>right,len+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("---------------------------------

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。