您的位置:首页 > 其它

二叉树的前序遍历

2016-03-21 11:44 316 查看

二叉树的前序遍历

不过话说回来,递归好用的很,

/*
二叉树的遍历
*/
#define _CRT_SECURE_NO_WARNINGS
#include<stdio.h>
#include<stdlib.h>
typedef struct node    //定义一个节点的结构体
{
struct node *lchild;
char data;
struct node *rchild;
}bitnode, *bitree;
bitree CreatTree()//创建一个树
{
char a;
bitree g;
scanf("%c", &a);
if (a == '#')
return NULL;
else
{
g = (bitree)malloc(sizeof(bitnode));
g->data = a;
g->lchild = CreatTree();
g->rchild = CreatTree();
}
return g;
}
void preorderTraverse(bitree bt)
{
if (bt != NULL)
{
printf("%c\t", bt->data);
preorderTraverse(bt->lchild);
preorderTraverse(bt->rchild);
}
else
return ;
}
void main()
{
bitree root;
root = CreatTree();
preorderTraverse(root);
system("pause");
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: