为什么在创建二进制排序树时不能跳出循环? [集美大学数据结构]

电脑杂谈  发布时间:2020-03-23 11:04:15  来源:网络整理

树和二叉树的转换代码_二叉排序树的遍历_创建二叉排序树

以下程序的目的是创建一个二进制排序树,并以中间顺序遍历方法将其输出,但是虽然(e!='*')不能跳出循环,请将while中的*更改为一个数字跳出来并能实现中阶输出,为什么,如何改变? ? ?

#include

#include

使用命名空间标准;

typedef struct BSTNode

{

int数据;

struct BSTNode * lchild,* rchild;

} BSTNode,* BSTree;

void InsertBST(BSTree和T创建二叉排序树,整数e)

创建二叉排序树_树和二叉树的转换代码_二叉排序树的遍历

{

如果(!T)

{

BSTree S;

S =新的BSTNode;

S->数据= e;

S-> lchild = S-> rchild = NULL;

T = S;

}

否则((数据)

创建二叉排序树_树和二叉树的转换代码_二叉排序树的遍历

InsertBST(T-> lchild创建二叉排序树,e);

否则为(e> T->数据)

InsertBST(T-> rchild,e);

}

void CreatBST(BSTree和T)

{

int e;

T = NULL;

cin >> e;

同时(e!='*')

树和二叉树的转换代码_创建二叉排序树_二叉排序树的遍历

{

InsertBST(T,e);

cin >> e;

}

}

void InOrderTraver(BSTree T)

{

如果(T)

{

InOrderTraver(T-> lchild);

创建二叉排序树_树和二叉树的转换代码_二叉排序树的遍历

cout << T->数据;

InOrderTraver(T-> rchild);

}

}

int main()

{

BSTree t;

CreatBST(t);

InOrderTraver(t);

返回0;

}


本文来自电脑杂谈,转载请注明本文网址:
https://www.pc-fly.com/a/jisuanjixue/article-149392-1.html

    相关阅读
      发表评论  请自觉遵守互联网相关的政策法规,严禁发布、暴力、反动的言论

      • 陈灵公
        陈灵公

        驻日美军和周边美军不会在旁看热闹

      • 赵文卓
        赵文卓

        想好了没有

      热点图片
      拼命载入中...