C语言-数据结构(下列代码求注释)

voidlevel(consttree*tp){//层序Node*queue[8];//队列intfront,rear;front=rear=0;queue[rear++... void level(const tree *tp){ //层序
Node *queue[8]; //队列
int front,rear;
front=rear=0;
queue[rear++]=*tp;
while(front<rear){
printf("%c",queue[front]->data);
if(queue[front]->lchild )
queue[rear++]=queue[front]->lchild;
if(queue[front]->rchild )
queue[rear++]=queue[front]->rchild;
front++;
}
}
展开
 我来答
cdyzxy
2019-08-08 · TA获得超过2.1万个赞
知道大有可为答主
回答量:1.4万
采纳率:85%
帮助的人:3732万
展开全部
这个程序是实现将一个二叉树安装左序优先的顺序存放在一个顺序数组中
void level(const tree *tp){ //tp指针给定一个二叉树根节点
Node *queue[8]; //保存各节点指针的顺序数组, 程序中默认节点数小于8
int front,rear; //当前处理节点位置和当前保存节点位置
front=rear=0; //当前queue中没有待处理节点
queue[rear++]=*tp; //根节点指针存放到queue[0]位置
while(front<rear){ //如果数组中仍有待处理节点则继续循环,结束循环:二叉树节点均处理完毕
printf("%c",queue[front]->data); //输出正在处理的节点数据内容
if(queue[front]->lchild ) //如果当前节点有左侧子节点
queue[rear++]=queue[front]->lchild; //将有效左侧子节点存入数组
if(queue[front]->rchild ) //如果当前节点有右侧子节点
queue[rear++]=queue[front]->rchild; //将这个有效的右侧子节点存入数组
front++; //处理下一个待处理节点(肯定是前面节点的子节点,左侧子节点存放在前)
}
}
光点科技
2023-08-15 广告
通常情况下,我们会按照结构模型把系统产生的数据分为三种类型:结构化数据、半结构化数据和非结构化数据。结构化数据,即行数据,是存储在数据库里,可以用二维表结构来逻辑表达实现的数据。最常见的就是数字数据和文本数据,它们可以某种标准格式存在于文件... 点击进入详情页
本回答由光点科技提供
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式