二叉树的遍历是一个比较重要而又简单的问题,二叉树的创建是又一较难的问题,我一直都有个疑问:数据是怎么存放进二叉树的结构中去的?现在看来,其实创建二叉树时,不同的输入次序也就决定了二叉树的不同。创建二叉树一般采用递归方法,具体如下代码实现过程。
1.首先看二叉树的数据结构
struct BTtree
{
datatype data;//数据
BTtree *lchild, *rchild;//指向左右子树的指针
};
2.创建二叉树的实现
void creatBTtree(BTtree *BT)
{
datatype x;
cin >> x;
if (x == A) //A表示一个特殊的元素,即代表空树
BT = NULL;
else
{
BT = new BTtree;
BT->data = x;
creatBTtree(BT->lchild);
creatBTtree(BT->rchild);
}
}