永发信息网

求助,二叉树的按层输出监视内存的问题

答案:2  悬赏:60  手机版
解决时间 2021-04-30 07:14

这是二叉树按层输出(顺序树)为什么我监视内存设置断点调试

的时候i=4,j=6啦,明明有3层(i)啊,5个(j)有效结点啊,为什么啊,请各位帮我看看,谢谢了

#include<stdio.h>
#include<stdlib.h>
#include<conio.h>

#define VirNode 0 //虚结点的值
#define MAX_TREE_SIZE 100

typedef int TElemType;
typedef TElemType SqBitTree[MAX_TREE_SIZE]; //SqBitTree[0]单元存放结点的总数,甚至存放构成满二叉树时的结点总数

void creat(SqBitTree bt,int n)
{
int i;
for(i=1;i<=n;i++)
bt[i]=i;
bt[0]=i-1;
}

void leveltree(SqBitTree bt) //按满二叉树输出
{
int i = 1, j;
while (i <= bt[0]) // 按层扫描
{
for (j = i;j < 2*i;j++) // 扫描第i层结点
if (bt[j] == VirNode)
printf(" *"); // 若为虚结点输出“*”
else printf("%4d", bt[j]);
printf("\n");
i = 2 * i; // 跳到下一层
}
}

int main()
{
SqBitTree bt={0};
creat(bt,5);
leveltree(bt);
getch();
return 0;
}

最佳答案
我暂时保留我的看法!
全部回答

监视窗口中bt对应的正是你数组的首地址。可以用bt[i]或具体的下标来监视数组中的具体内容。

我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
【乱用】的近义词是什么?
梦幻西游出来几年了
怎样才能看出他喜不喜欢祢?
DNF湖北七区到底什么时候开啊?
我想买长安悦翔1.5L豪华版有优惠吗?
龙阿纳赫当怎么去啊,有知道地址的么
Whatever happens,don`t let go of my hand反
呜呜..吃避孕药会怎样?请帮帮忙!
我不想用短信超人业务了!怎么关啊?
产品介绍用英文怎么说,介绍用英语怎么说
如果有人骗了你,但你真的很想原谅他,可是又
看到同学们的心情,感觉每个人都那么感伤,90
COCO欧韩在什么地方啊,我要过去处理事情
现在价诺基亚哪款手机好
电脑出现这提示是怎么回事?
推荐资讯
抢车位,爱心车位
QQ好友印象六个字后面多少空格可以让下一行加
落叶知秋,柳绿知春?
《冰帝梦想》汉化版下载
怎么样才能开通黄钻?
怎么手机打电话区号和号码一样前面加几个不同
谁知道古堡探险第3关最后那个怪要怎么打撒 每
这句子什么意思
武易传奇装备转身地图那里武士可以单打
CSOL总是莫名其妙的卡
像算盘一样的东西,按摩脚有用?
《今晚你想念的人不是我》歌词
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?