使用指针实现二叉树的定义,建立,以及前序遍历,中序遍历,后续遍历。
/*
该程序实现了二叉树的建立,以及树的遍历,前序遍历,中序遍历,后序遍历。
*/
#include <stdio.h>
#include<stdlib.h>
#include <sys/malloc.h>
typedef struct tree_node
{
char data;
struct tree_node *lchild,*rchild;
}BT_Node;//声明一个结构体,包含根节点,左右子树
#define Tree_NodeLen sizeof(BT_Node)
BT_Node *tree;//定义结构体指针,指向新建立的二叉树
//函数声明
BT_Node *Creat_BTree(BT_Node *tree);
void Visit_Node(BT_Node *tree);
void Pre_Order(BT_Node *tree);
void Mid_Order(BT_Node *tree);
void After_Order(BT_Node *tree);
int main(void)
{
printf("\n 请输入树结点 :\n ");
tree = Creat_BTree(tree);
if(tree)
{
printf("\n 前序遍历:\n ");
Pre_Order(tree);
printf("\n");
printf("\n 前序遍历:\n ");
Mid_Order(tree);
printf("\n");
printf("\n 前序遍历:\n "