写了一个二叉树的c++程序,请大家看看有没有什么问题
struct BTREE
{
int nValue;
BTREE* Bleft;
BTREE* Bright;
};
void InsertNode(int value, BTREE* &bTree)
{
BTREE* pnewTree = new BTREE;
pnewTree->nValue = value;
pnewTree->Bleft = NULL;
pnewTree->Bright = NULL;
if ( bTree == NULL)
{
bTree = pnewTree;
}
else
{
if (value > bTree->nValue)
{
InsertNode(value,bTree->Bright);
}
else
{
InsertNode(value,bTree->Bleft);
}
}
}
void InOrder(BTREE* bTree)
{
if (bTree != NULL)
{
printf("%d ",bTree->nValue);
InOrder(bTree->Bleft);
InOrder(bTree->Bright);
}
}
int main(int argc, char* argv[])
{
//printf("Hello World!\n");
BTREE* m_tree = NULL;
InsertNode(10, m_tree);
InsertNode(20,m_tree);
InsertNode(5,m_tree);
InsertNode(3,m_tree);
InsertNode(30,m_tree);
InOrder(m_tree);
return 0;
}