当前位置:首页 > 数据结构实训报告样本
吉林工业职业技术学院 数据结构实训
void Inorder(BTree T) { if(T) { Inorder(T->lchild); printf(\ Inorder(T->rchild);
}
}
void Postorder(BTree T) { if(T) { Postorder(T->lchild); Postorder(T->rchild); printf(\
}
}
int TreeDepth(BTree T) { int hl,hr,max; if(T) { hl=TreeDepth(T->lchild); hr=TreeDepth(T->rchild); max=hl>hr?hl:hr; NodeNum=NodeNum+1; if(hl==0&&hr==0)
leaf=leaf+1; return(max+1);
}
else return(0);
}
void Levelorder(BTree T) { int front=0,rear=1; BTNode *cq[Max],*p;
cq[1]=T;
8
吉林工业职业技术学院 数据结构实训
}
while(front!=rear) { }
front=(front+1)%NodeNum; p=cq[front]; if(p->lchild!=NULL) {
rear=(rear+1)%NodeNum; cq[front]=p->lchild; cq[rear]=p->lchild; }
if(p->rchild!=NULL) {
rear=(rear+1)%NodeNum; cq[front]=p->rchild; cq[rear]=p->rchild; }
printf(\
void main() {
BTree root; int i,depth; printf(\
printf(\创建二叉树,请输入完全二叉树的先序序列,用*代表虚结点:\root=CreatBTree();//返回根结点 do{
printf(\先序遍历\\n\printf(\中序遍历\\n\printf(\后序遍历\\n\
printf(\深度、结点数、叶子数\\n\printf(\层次遍历\\n\
printf(\备注:选择层次遍历之前,需要先选择4,求出该树的结点数。\
9
吉林工业职业技术学院 数据结构实训
}
}
printf(\
scanf(\输入菜单序号 switch(i) {
case 1:printf(\先序遍历结果为:\
Preorder(root); break;
case 2:printf(\中序遍历结果为:\
Inorder(root); break;
case 3:printf(\后序遍历结果为:\
Postorder(root); break;
printf(\深度=%d 结点数=%d\printf(\叶子数=%d\break;
case 4:depth=TreeDepth(root);
case 5:printf(\层次遍历为:\ }
printf(\
Levelorder(root); break;
default:exit(1);
while(i!=0);
【使用说明】本程序在turboc 2.0环境下运行,迷宫大小为20×20,需要修改迷宫大小时,可以修改程序中N值的大小。迷宫图由系统自动随机生成,每次生成的迷宫图是不同的。按enter健显示最终搜索结果。按Q健退出程序。
【运行调试】
10
吉林工业职业技术学院 数据结构实训
图(1)二叉树遍历主界面
图(2)
(二)综合题目 1、图书管理系统
【问题描述】建立一个图书信息文件,包括书号(num)、书名(bookname)、作者(name)、出版社(publish)、价格(price)等。
【要 求】编写菜单程序,功能包括:建立图书信息、插入记录,删除记录、修改记录、按照书号或书名查询记录、显示记录、根据图书价格进行排序。定义图书信息结构体名称为book。书号(num)、书名(bookname)、作者(name)、出版社(publish)均为字符型数组。价格(price)为单精度型数据。
【设计分析】系统目标分析
每个学校都有图书馆,最初由于图书数量和种类较少,人工手动管理比较方便和灵活。随着社会的发展,图书的数量和种类越来越多,人工手动管理会降低工作的效率,
11
共分享92篇相关文档