/*
///二叉树
*/
#include<stdio.h>
#include<stdlib.h>
typedef struct node
{
int data;
struct node* netx;
}*Node;
typedef struct BiTNode
{
char data;
struct BiTNode* lchild, * rchild;
}BiTNode, * BiTree;
void CreateBiTree(BiTree* T)
{
char ch;
scanf_s("%c", &ch);
if (ch == '#')
*T = NULL;
else
{
*T = (BiTree)malloc(sizeof(BiTNode));
if (!*T)
exit(-1);
(*T)->data = ch;
CreateBiTree(&(*T)->lchild);
CreateBiTree(&(*T)->rchild);
}
}
void PreOrderTraverse(BiTree T)//二叉树的先序遍历
{
if (T == NULL)
return;
printf("%c ", T->data);
PreOrderTraverse(T->lchild);
PreOrderTraverse(T->rchild);
}
int main()
{
BiTree T;
CreateBiTree(&T);
PreOrderTraverse(T);
}
二叉树的创建和先序遍历
最新推荐文章于 2022-02-26 18:45:37 发布