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 + -
显示快捷键?