二叉树的顺序存储结构的一个小问题

顺序存储是根据数组来完成的

/* 按层序次序输入二叉树中结点的值(字符型或整型), 构造顺序存储的二叉树T */
Status CreateBiTree(SqBiTree T)
{ 
    int i=0;
    printf("请按层序输入结点的值(整型),0表示空结点,输999结束。结点数≤%d:\n",MAX_TREE_SIZE);
    while(i<10)
    {
        T[i]=i+1;

        if(i!=0&&T[(i+1)/2-1]==Nil&&T[i]!=Nil) /* 此结点(不空)无双亲且不是根 */
        {
            printf("出现无双亲的非根结点%d\n",T[i]);
            exit(ERROR);
        }
        i++;
    }
    while(i<MAX_TREE_SIZE)
    {
        T[i]=Nil; /* 将空赋值给T的后面的结点 */
        i++;
    }

    return OK;
}

里面这个if判断,明明是不可能出现这种错误的,我觉得有必要判断吗?
if(i!=0&&T[(i+1)/2-1]==Nil&&T[i]!=Nil) /* 此结点(不空)无双亲且不是根 */
{
printf("出现无双亲的非根结点%d\n",T[i]);
exit(ERROR);
}
有大佬可以解释一下吗??感激不尽...

0

查看全部1条回答

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!

相似问题

1
二叉树的顺序存储结构的一个小问题
0
数字匹配判断是否能够开锁的一个问题,加锁算法,利用C语言解决的办法
0
有关多项式方程的极值的计算的一个问题利用C语言的解答的方式是什么思路
2
我要截取一段字符串,以固定的一个字符截取,应该这么做?
1
挑战,制作一个文件夹图标为gif动画的资源管理器
0
线性表的聚合操作的问题的一个实现的算法,采用C语言的办法如何解决
1
javascrpt语言里读取一个字符串,然后再分割成单个的字符,放在不同的表单
0
一个字符串基于base64方式实现的编码算法,用二进制的表达,采用C语言实现
1
javascrpt语言整合iframe到一个div的操作,求助
0
集合的匹配的一个算法问题的解释?如何利用C语言实现的
0
最大二进制公共子序列的一个算法的问题如何利用C语言的办法去实现怎么做?
0
一个立体的分割蛋糕的算法问题,请问如何利用C语言的形式解决
0
一个有关最长数字子序列方面的算法的问题?用C语言如何解决的
3
运用C语言的编程的技术,编写一个程序,判断给定的两个数是否是亲和数
1
求一个C语言基于SDL2开发的俄罗斯方块游戏!!!!! 需要源码
0
访问相关路径寻找长度的一个算法,怎么利用C语言实现的呢?
2
二级c语言考试选择题小问题
0
一个颜色混合比例的计算的问题,如何利用C语言是真么编程实现的
0
数列级数的极值的计算的一个问题,请问是如何利用C语言的编程代码实现的呢
0
关于二叉树的剪纸的一个算法的问题,请教了大家,怎么才能利用C语言的办法?