要求可从输入端输入一组数据后对其进行比较后以先序遍历、中序遍历、后序遍历输出:
代码如下:
#include <stdio.h>
#include <stdlib.h>
#define N 12
typedef struct btree
{
int data;
struct btree *left;
struct btree *right;
}BTR,*PBTR;
PBTR Bitree=NULL;
void creat_btree(int *a,int size) /*The establishment of tree*/
{
int i;
PBTR pre,pre2;
for(i=0;i<size;i++)
{
if(Bitree==NULL)
{
Bitree=(PBTR)malloc(sizeof(BTR)); //分配空间
if(Bitree==NULL) //分配空间失败
{
printf("Malloc fail/n");
break;
}
else
{
Bitree->data=a[i]; //分配成功时,将第一个元素值给Bitree
Bitree->left=NULL; //左节点置为空