数据结构实训报告_第1页
数据结构实训报告_第2页
数据结构实训报告_第3页
数据结构实训报告_第4页
数据结构实训报告_第5页
免费预览已结束,剩余13页可下载查看

下载本文档

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

文档简介

目一、课程设计目标与任 课程设计目 课程设计任 课程设计要 课程设计基本操作方 二、分析与设 题目分 2.2结构设 算法描 程序流程 三、程序四、测 测试数 4.2分 五、总 参考文 一、课程设计目标与任课程设计目CVC++集成环境进课程设计任课程设计要课程设计基本操作方好;对特殊疑难问题采用、协作等方式进行解决,有意识地训练团队合二、分析与设树与二叉树的转换,应根据树的结构定义,即双亲表示和孩子-兄弟表题目分2.2结构设#include<stdio.h>#include<malloc.h>#include<stdlib.h>#defineMaxSize100验运用到的是双亲结点和孩子兄弟结点。具体结构如下:typedefchartypedefstruct ElemTypedata;structbnode*lchild;structbnode}typedefstruct intint //typedefstruct PTNodeint //typedefstructnode{intstructnode*child;structnode*nextchild;算法描存在)的指针在结点的child域中,断开其他结点的指针;同时,把它的所有结点通过它们的右兄弟指针nextchild起来,在右旋21树22加线23抹线旋转:就是以树的根结点为,将整棵树顺时针旋转45,使之结24旋转程序流程4输入选项进行输入选项进行【【【【【输【【【选择选择1或选择0432132125流程图321三、程序#include<stdio.h>#include<malloc.h>#include<stdlib.h>#defineMaxSize100typedefcharElemType;typedefstruct ElemTypedata;structbnode*lchild;structbnode}typedefstruct intint //typedefstruct PTNodeint //typedefstructnode{intstructnode* structnodevoidinsertBTNode(bTNode*&b,char //str bTNode*St[MaxSize],*p=NULL;inttop=-1,k,j=0;char while //str case'(':top++;St[top]=p;k=1;break; case')':top--;break;case',':k=2;break; default:p=(bTNode*)malloc(sizeof(bTNode)); if //p

case1:St[top]-case2:St[top]- voidpreOrder(bTNode*T) {printf("%c voidzOrder(bTNode {preOrder(T->lchild); }}voidhOrder(bTNode {preOrder(T->lchild); voidinit_ptree(PTree BTNodeGetTreeNode(intx) BTNodet; returnt;}voidpreorder(BTNode {printf("%d",T->data); voidinoeder(BTNode printf("%d",T->data); voidPrintBTree(BTNode*root,int inti; printf("");PrintBTree(root-> voidprint_ptree(PTree int printf("\n");}}/PTreeCreatTree(PTree inti=1;intfa,ch;PTNodeprintf("请依次输入各节点(以数据域-1结束):");{scanf("%d,%d",&fa,&ch); T.node[T.count].data=p.data;T.node[T.count].parent=p.parent;}returnBTNode*change(PTree intBTNodep[MaxSize];BTNode*a,*b,*c,*Tree;a=(BTNode*)malloc(sizeof(BTNode));b=(BTNode*)malloc(sizeof(BTNode));c=(BTNode*)malloc(sizeof(BTNode));Tree=(BTNode*)malloc(sizeof(BTNode));{p[i]=GetTreeNode(T.node[i].data);} returnTree;}{菜 创建一棵树树的前序遍历树的后序遍历建立一个指定的二叉树退出程序{二叉树的前序遍 **3二叉树的中序遍 二叉树的后序遍 {**选项【1】返回主菜 **选项【0】退出程 void inti=0,c1,c2;PTreeT;BTNode*Tree;bTNode*b; int casecase2:case3: gotoloop;elseif(c2==0) exit(1);}四、测测试数前一个数据代表双亲序号,后一结点的数据值。4.2分41主界面12、3042输入操作43输入数据44转换后45子菜单46树的前序遍历47树的后序遍历48输出二叉树049二叉树前序遍历410二叉树中序遍历411二叉树后序遍历五、总,以很快写出来,/r/

温馨提示

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

评论

0/150

提交评论