先序遍历二叉树的过程如下:
1.访问根节点
2.先序遍历左子树
3.先序遍历右子树
二叉树的存储结构定义:
typedef struct node{
int data;
struct node * lchild; //指向左孩子的结点
struct node * rchild; //指向右孩子的结点
}BTNode;
思路;
1.先判断该树是否为空,不为空则继续
2.访问根节点
3.调用本函数遍历左子树
3.调用本函数遍历右子树
C代码实现:
void PreOrder(BTNode * b){ //先序遍历
if(b != null){
printf("%c",b->data); //访问根节点
PreOrder(b->lchild);
PreOrder(b->rchild);
}
}