二叉树数据结构 菜单驱动_第1页
二叉树数据结构 菜单驱动_第2页
二叉树数据结构 菜单驱动_第3页
二叉树数据结构 菜单驱动_第4页
全文预览已结束

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

/*************************************************Filename:head_list.hFilename:head_list.hAuthor:DabaoWangDescription:类型说明Vjrsion:1.0Date:2010.9.20//作者、版本及完成日期//用于详细说明此程序文件完成的主要功能*************************************************/typedefstructBiTNode{chardata;structBiTNode*lchild,*rchild;}BiTNode,*BiTree;/*************************************************Filename:common.h//文件名Author:DaobaoWangVfersion:1.0Date:2010.9.20//作者、版本及完成日期Description://用于详细说明此程序文件完成的主要功能存放一些常用的头文件,以及本课程中定义的类型、常量、结果状态代码等。#include<string.h>#include<ctype.h>#include<malloc.h>#include<limits.h>#include<stdio.h>#include<stdlib.h>#include<io.h>#include<math.h>#include<process.h>#include<sys/timeb.h>*************************************************//*malloc()等*//*INT_MAX等*//*EOF(=AZ或F6),NULL*//*atoi()*//*eof()*//*floor(),ceil(),abs()*//*exit()*//*ftime(&t1);求得系统当前时间*/#include<string.h>#include<ctype.h>#include<malloc.h>#include<limits.h>#include<stdio.h>#include<stdlib.h>#include<io.h>#include<math.h>#include<process.h>#include<sys/timeb.h>Filename:main_List.c//文件名Author:DabaoWangDescription:Vfersion:1.0Date:2010.9.20//作者、版本及完成日期//用于详细说明此程序文件完成的主要功能*************************************************/#include"common.h”#include"head_list.h”intmenu_select_List();intPreOrderTraverse(BiTreeT);intCreateBiTree(BiTree&T);intPrintchar(chare);intInOrderTraverse(BiTreeT);intPostOrderTraverse(BiTreeT);intdepth(BiTreeT);voidmain(){BiTreeT;intl,dl;while(l=menu_select_List()){//无限循环,选择0退出循环//调用一级主菜单函数,按返回值选择功能函数switch(l){case1:printf("\n\n\t**************************************\n\n");printf("\t创建二叉树\n\n");printf("\t**************************************\n\n");getchar();CreateBiTree(T);break;case2:printf("\n\n\t**************************************\n\n");printf("\t先序遍历二叉树\n\n");printf("\t**************************************\n\n");PreOrderTraverse(T);break;case3:printf("\n\n\t**************************************\n\n")・printf("\t中序遍历二叉树\n\n");printf("\t**************************************\n\n");InOrderTraverse(T);break;case4:printf("\n\n\t**************************************\n\n");printf("\t后序便利二叉树\n\n");printf("\t**************************************\n\n");PostOrderTraverse(T);break;case5:printf("\n\n\t**************************************\n\n");printf("\t求二叉树深度\n\n");printf("\t**************************************\n\n");dl=depth(T);printf("%d",dl);break;default:printf("输入选择有误,请重新选择(0~6)!\n\n");}}/*************************************************Filename:menu.c//文件名Author:DabaoWangVfersion:1.0Date:2010.9.20//作者、版本及完成日期Description://用于详细说明此程序文件完成的主要功能菜单显示及选择程序,加强界面友好*************************************************/#include"common.h#include"head_list.hintmenu_select_List()〃主菜单的输出{intsn;printf("\n\n\t****************************************\n'');printf("\t****\n");printf("\t**二叉树**\n");printf("\t****\n");printf("\t**1:创建二叉树**\n");printf("\t**2:先序遍历二叉树**\n");printf("\t**3:中序遍历二叉树**\n");printf("\t**4:后序便利二叉树**\n");printf("\t**5:求二叉树深度**\n");printf("\t**0:退出**\n");printf("\t****\n");printf("\t****************************************\n\n\n'');printf("请输入选择(0〜5):");for(;;){scanf("%d”,&sn);if(sn<0IIsn>6)printf("输入选择有误,请重新选择(0〜5):\n\n");elsebreak;}returnsn;}/*************************************************FileSqList.c//文件名Author:DabaoWangVfersion:1.0Date:2010.9.20//作者、版本及完成日期Description://用于详细说明此程序文件完成的主要功能栈有关操作的实现*************************************************/#include"common.h”#include"head_list.h”intPreOrderTraverse(BiTreeT){if(T){printf("%d\t”,T->data);PreOrderTraverse(T->lchild);PreOrderTraverse(T->rchild);}returnOK;}intCreateBiTree(BiTree&T){charch;scanf("%d”,&ch);if(ch=='')T=NULL;else{if(!(T=(BiTNode*)malloc(sizeof(BiTNode))))exit(ERROR);T->data=ch;CreateBiTree(T->lchild);CreateBiTree(T->rchild);}returnOK;}intInOrderTraverse(BiTreeT){if(T){PreOrderTraverse(T->lchild);printf("%d\t”,T->data);PreOrderTraverse(T->rchild);}returnOK;}intPostOrderTraverse(BiTreeT){if(T)

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论