层序遍历二叉树

来源:互联网 发布:点播软件哪个好 编辑:程序博客网 时间:2024/05/22 15:36

#include<stdio.h>#include<stdlib.h>#include<malloc.h>#include<string.h>int i;typedef struct node{ char x; struct node *lchild; struct node *rchild;}tree,*linklist;void chu(linklist *head){ (*head)=NULL;}void xtree(linklist *head){  char s;  scanf("%c",&s);  if(s=='#') (*head)=NULL;  else  {   *head=(linklist)malloc(sizeof(struct node));   (*head)->x=s;   xtree(&((*head)->lchild));   xtree(&((*head)->rchild));  } }void couttree(linklist head){ linklist queue[100];//定义一个队列 tree *p; int front,rear;//头以及尾指针 rear=front=-1; rear++; queue[rear]=head; while(front!=rear) {  front++;  p=queue[front];  printf("%c ",p->x);  if(p->lchild!=NULL)  {   rear++;   queue[rear]=p->lchild;   }   if(p->rchild!=NULL)  {   rear++;   queue[rear]=p->rchild;  } } }int main(){ linklist head; chu(&head); xtree(&head); couttree(head); return 0;}

0 0
原创粉丝点击