数据结构 二叉树层序遍历的队列实现

来源:互联网 发布:centos nginx安装配置 编辑:程序博客网 时间:2024/05/17 21:14

二叉树例子如上:

先创建一个队列 将根结点A入队(根结点不存在则直接结束)

A出队后 将A的左子和右子分别入队

下一个元素出队,并将其左子右子入队,以此类推


代码实现如下:

void BinaryTree::layerOrderTravelsal(TreeNode* node)   //层序遍历{queue<TreeNode*> myQueue;if (!node)return;   //  如果根结点不存在 则直接出队myQueue.push(node);while (!myQueue.empty()){auto temp = myQueue.front();myQueue.pop();cout << temp->data << " ";free(temp);if (node->LChild) myQueue.push(node->LChild);if (node->RChild) myQueue.push(node->RChild);}}




原创粉丝点击