6_5.txt
来自「数据结构及算法经典 讲述数据结构的经典算法c源程序」· 文本 代码 · 共 60 行
TXT
60 行
#include<stdio.h>
#define maxsize 100
typedef struct node{
char data;
struct node *lchild,*rchild;
}bt;
typedef struct q{
bt *data[maxsize];
int front,rear;
}queue;
createbt(bt **T)
{
char ch;
scanf("%c",&ch);
if(ch==' ')*T=NULL;
else{
*T=(bt *)malloc(sizeof(bt));
(*T)->data=ch;
createbt(&((*T)->lchild));
createbt(&((*T)->rchild));
}
}
leveltrav(bt *t)
{
queue qu; bt *temp;int flag=0;
qu.front=0;
qu.rear=0;
qu.rear++;
if(!t)return 1;
qu.data[qu.rear]=t;
while(qu.front!=qu.rear){
qu.front=(qu.front+1)%maxsize;
temp=qu.data[qu.front];
printf("%c ",temp->data);
if(temp->lchild){
if(flag) return 0;
qu.rear=(qu.rear+1)%maxsize;
qu.data[qu.rear]=temp->lchild;
}
else flag=1;
if(temp->rchild){
if(flag) return 0;
qu.rear=(qu.rear+1)%maxsize;
qu.data[qu.rear]=temp->rchild;
}
else flag=1;
}
return 1;
}
main()
{
bt *h;
createbt(&h);
if(leveltrav(h)==1)printf("is compelete tree\n");
else printf("is not compelete tree\n");
}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?