⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 层次非递归遍历.cpp

📁 数据结构中的常见算法
💻 CPP
字号:
//层次的非递归算法
#include <stdio.h>
#include <stdlib.h>
#include"建立树.h"
#define MAX 20
void LevleOrder(BiTree T)/*层次遍历二叉树T,从第一层开始,每层从左到右*/
{
	BiTree Queue[MAX],b; /*用一维数组表示队列,front和rear分别表示队首和队尾指针*/
	int front,rear;
	front=rear=0;
	if (T) /*若树非空*/
	{
		Queue[rear++]=T;           /*根结点入队列*/
		while (front!=rear)//当队列非空,
		{  
			b=Queue[front++];       //队首元素出队列,并访问这个结点
			printf("%c",b->data);
			if (b->lchild!=NULL) Queue[rear++]=b->lchild; /*左子树非空,则入队列*/
			if (b->rchild!=NULL) Queue[rear++]=b->rchild; /*右子树非空,则入队列*/
		}
	}
}//LevelOrder

void main()
{
  BiTree T;
  printf("请输入建树字符序列,以“.”表示NULL:\n");
  CreateBiTree(T);  /*建立一棵二叉树T*/
  printf("\n层次遍历二叉树的结果:\n");
  LevleOrder(T);     /*层次遍历二叉树*/
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -