第一范文网 - 专业文章范例文档资料分享平台

单链表的初始化插入和删除实验报告

来源:用户分享 时间:2025/8/18 15:56:45 本文由loading 分享 下载这篇文档手机版
说明:文章内容仅供预览,部分内容可能不全,需要完整文档或者需要复制内容,请下载word后使用。下载word有问题请添加微信号:xxxxxxx或QQ:xxxxxx 处理(尽可能给您提供完整文档),感谢您的支持与谅解。

数据结构实验报告

{

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; //若左右深度为0,即为叶子。 return(max+1); }

else return(0); }

//====利用“先进先出”(FIFO)队列,按层次遍历二叉树========== void Levelorder(BinTree T) {

int front=0,rear=1;

BinTNode *cq[Max],*p; //定义结点的指针数组cq cq[1]=T; //根入队 while(front!=rear) {

front=(front+1)%NodeNum; p=cq[front]; //出队

13

数据结构实验报告

printf(\出队,输出结点的值 if(p->lchild!=NULL){ rear=(rear+1)%NodeNum;

cq[rear]=p->lchild; //左子树入队 }

if(p->rchild!=NULL){ rear=(rear+1)%NodeNum;

cq[rear]=p->rchild; //右子树入队 } } }

//==========主函数================= void main() {

BinTree root; int i,depth; printf(\

printf(\; Input preorder:\//输入完全二叉

树的先序序列,

// 用#代表虚结点,如

ABD###CE##F##

root=CreatBinTree(); //创建二叉树,返回根结点 do { //从菜单中选择遍历方式,输入序号。

14

数据结构实验报告

printf(\ printf(\ printf(\ printf(\ printf(\number\\n\

printf(\//按层次遍历之前,先选择4,求出该树的结点数。 printf(\

printf(\ scanf(\输入菜单序号(0-5) switch (i){

case 1: printf(\

Preorder(root); //先序遍历 break;

case 2: printf(\ Inorder(root); //中序遍历

break;

case 3: printf(\ Postorder(root); //后序遍历

break;

case 4: depth=TreeDepth(root); //求树的深度及叶

15

PostTreeDepth,Node number,Leaf

数据结构实验报告

子数

printf(\number=%d\

printf(\ break;

case 5: printf(\

Levelorder(root); //按层次遍历 break; default: exit(1); }

printf(\ } while(i!=0); } 执行程序 1. 先序遍历

Depth=%d

BinTree

Node

2. 中序遍历

16

搜索更多关于: 单链表的初始化插入和删除实验报告 的文档
单链表的初始化插入和删除实验报告.doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印
本文链接:https://www.diyifanwen.net/c8urm51h0b51is5307336_4.html(转载请注明文章来源)
热门推荐
Copyright © 2012-2023 第一范文网 版权所有 免责声明 | 联系我们
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ:xxxxxx 邮箱:xxxxxx@qq.com
渝ICP备2023013149号
Top