二叉链表的类型定义——教材101页
typedef struct btnode
{
DataType data;
struct btnode *lchild,*rchild;//指向左右孩子的指针
}*BinTree;
三叉链表的类型定义——教材102页
typedef struct ttnode
{
DataType data;
struct ttnode *lchild,*parent,*rchild;//在二叉链表的基础上多了一个 指向双亲的指针
}*TBinTree;
TBinTree root;
二叉链表的三种遍历的递归算法
1 先序遍历-根,左,右
void preorder(BinTree bt)
{
if (bt != NULL)
{
visit (bt);//根
preorder (bt->lchild);//左
preorder (bt->rchild);//右
}
}
2 中序遍历-左,根,右
void preorder(BinTree bt)
{
if (bt != NULL)
{
inorder (bt->lchild);//左
preorder (bt->rchild);//右
}
}