#include<stdio.h>
#include<stdlib.h>
#define SIZE sizeof(struct tree)
#define MAXSIZE 6
struct tree
{
char data;
struct tree *rchild,*lchild;
};
struct
{
struct tree**dui[5];
int front,rear;
}duilie;
struct tree*p;
void creattree(struct tree**);
void printtree1(struct tree**);
int main(void)
{
struct tree*A;
struct tree**T=&A;
duilie.front=0;
duilie.rear=0;
creattree(T);
duilie.dui[0+duilie.rear]=T;
duilie.rear++;
printtree1(T);
return 0;
}
void creattree(struct tree **T)
{
char ch;
scanf("%c",&ch);
getchar();
if(ch!='#')
{
*T=(struct tree*)malloc(SIZE);
(*T)->data=ch;
creattree(&((*T)->lchild));
creattree(&((*T)->rchild));
}
else
{
*T=NULL;
}
}
void printtree1(struct tree**T)
{
while(duilie.front!=duilie.rear)
{
p=*(duilie.dui[duilie.front]);
printf("%c\n",p->data);
duilie.front=(duilie.front+1)%5;
if(p->lchild)
{
duilie.dui[duilie.rear]=&(p->lchild);/
duilie.rear=(duilie.rear+1)%5;
}
if(p->rchild)
{
duilie.dui[duilie.rear]=&(p->rchild);//
duilie.rear=(duilie.rear+1)%5;
}
}
}
28利用队列按行输入二叉树
最新推荐文章于 2022-10-05 19:30:38 发布