数据结构实训报告样本

发布时间 : 星期六 文章数据结构实训报告样本更新完毕开始阅读

吉林工业职业技术学院 数据结构实训

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

联系合同范文客服:xxxxx#qq.com(#替换为@)