我是靠谱客的博主 含糊棒棒糖,这篇文章主要介绍二叉树的层序遍历【C语言】,现在分享给大家,希望可以做个参考。

二叉树的层序遍历【C语言】

昨天说了二叉树的前序,中序,后序遍历
今天来看看比较复杂的层序遍历

基本思想类似BFS
也要结合Queue的知识

#include<stdio.h>
#include<stdlib.h>

typedef struct TreeNode * BinTree;
typedef BinTree Position;
typedef int ElementType;

struct TreeNode{
	ElementType d;
	BinTree Left;
	BinTree Right;
};
void LevelOrderTravelsal(BinTree BT){
	Queue Q;
	BinTree t;
	if(!BT) return ;
	Q = CreateQueue(MaxSize);
	AddQ(Q,BT);
	while(!IsEmpty(Q)){
		t = DeleteQ(Q);
		printf("%d",t->d);
		if(t->Left) AddQ(Q,t->Left);
		if(t->Right) AddQ(Q,t->Right);
	}
} 

到这里二叉树的四种遍历方法就都写完啦~

最后

以上就是含糊棒棒糖最近收集整理的关于二叉树的层序遍历【C语言】的全部内容,更多相关二叉树内容请搜索靠谱客的其他文章。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(136)

评论列表共有 0 条评论

立即
投稿
返回
顶部