
以下程序的目的是创建一个二进制排序树,并以中间顺序遍历方法将其输出,但是虽然(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;
}
本文来自电脑杂谈,转载请注明本文网址:
http://www.pc-fly.com/a/jisuanjixue/article-149392-1.html
那就别人说人话了
海军总吨位已经超过了北洋水师