#include "stdio.h"
struct node;
struct node
{
int data;
struct node *lchild,*rchild;
};
typedef struct node *pointer;
pointer t;
int a[13]={2,3,5,7,11,13,17,19,23,29,31,37,41};
createtree(t,int i)
{
t=(pointer)malloc(sizeof(pointer));
t->data=a[i];
if(a[2*i+1]!=NULL&&(2*i+1)<=13)
createtree(t->lchild,2*i+1);
else
t->lchild=NULL;
if(a[2*i+2]!=NULL&&(2*i+2)<=13)
createtree(t->rchild,2*i+2);
else t->rchild=NULL;
}
visit(t)
{
if(t==NULL) return;
else
printf("t->data=%d/n",t->data);
}
void preorder(t)
{
if(t==NULL) return;
visit(t);
preorder(t->lchild);
preorder(t->rchild);
}
main()
{
createtree(t,0);
preorder(t);
}