【数据结构】二叉树的层序遍历

用循环队列或者链式队列都可以实现。

void traverse_ceng(Tree myTree)
{
	TreeNodePtr a = myTree.head;
	if (a == NULL)
	{
		return;
	}
	queue myQueue;
	init_queue(&myQueue);
	enQueue(&myQueue, *a);
	cout << "层序遍历:";
	while (!isEmpty_queue(myQueue))
	{
		TreeNode myNode;
		deQueue(&myQueue,&myNode);
		cout << myNode.data << " ";
		if ((myNode.lchild) != NULL)
		{
			enQueue(&myQueue, *(myNode.lchild));
		}
		if ((myNode.rchild) != NULL)
		{
			enQueue(&myQueue, *(myNode.rchild));
		}
	}
	cout << endl;
}



猜你喜欢

转载自blog.csdn.net/qq_35564841/article/details/80708412