码迷,mamicode.com
首页 > 其他好文 > 详细

层序遍历二叉树

时间:2015-08-04 11:21:32      阅读:159      评论:0      收藏:0      [点我收藏+]

标签:


#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;
}

版权声明:本文为博主原创文章,未经博主允许不得转载。

层序遍历二叉树

标签:

原文地址:http://blog.csdn.net/yueloveme/article/details/47272373

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!