完全二叉树.c

来自「编写程序」· C语言 代码 · 共 63 行

C
63
字号
#include<stdio.h>
#include<stdlib.h>

typedef char DataType;

#include "BiTree.h"
#include "BiTreeTraverse.h"


void check(BiTreeNode *t,LQueue q)
{	
	BiTreeNode ttemp;
	int count=0;
	
	QueueAppend(&q,*t);
	count++;
	
	do
	{
		QueueDelete(&q,&ttemp);
		printf("%c ",ttemp.data);
		count--;
				
		if(ttemp.leftChild!=NULL)
		{	
			QueueAppend(&q,*(ttemp.leftChild));
			count++;
			
		}
		else

		if(ttemp.rightChild!=NULL)
		{	
			QueueAppend(&q,*(ttemp.rightChild));
			count++;
		}
	} while(count>0);
	
	return;
}


void main(void)
{
	BiTreeNode *root,*p,*pp;

	BiTreeInitiate(&root);
	p=InsertLeftNode(root,'A');
	p=InsertLeftNode(p,'B');
	p=InsertLeftNode(p,'D');
	p=InsertRightNode(p,'G');
	p=InsertRightNode(root->leftChild,'C');
	pp=p;
	InsertLeftNode(p,'E');
	InsertRightNode(pp,'F');

	PrintBiTree(root,0);
	
	check(root);
	
	Destroy(&root);

}

⌨️ 快捷键说明

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