实现一棵二叉树的层序遍历
来源:互联网 发布:mac地址表包括vlan吗 编辑:程序博客网 时间:2024/05/18 23:56
BinaryTree.h
#pragma once#include <iostream>#include<deque>using namespace std;struct BinaryTreeNode{ int _value; BinaryTreeNode* _pLeft; BinaryTreeNode* _pRight;};
PrintBinaryTree.cpp
#include"BinaryTree.h"void PrintFromTopToBottom(BinaryTreeNode* pTreeRoot){ if (!pTreeRoot) return ; deque<BinaryTreeNode*> dequeTreeNode; dequeTreeNode.push_back(pTreeRoot); while (dequeTreeNode.size()) { BinaryTreeNode* pNode = dequeTreeNode.front(); cout<<pNode->_value; dequeTreeNode.pop_front(); if (pNode->_pLeft) dequeTreeNode.push_back(pNode->_pLeft); if (pNode->_pRight) dequeTreeNode.push_back(pNode->_pRight); }}void ConnectTreeNodes(BinaryTreeNode* pParent, BinaryTreeNode* pLeft, BinaryTreeNode* pRight){ if(pParent != NULL) { pParent->_pLeft = pLeft; pParent->_pRight = pRight; }}BinaryTreeNode* CreateBinaryTreeNode(int value){ BinaryTreeNode* pNode = new BinaryTreeNode(); pNode->_value = value; pNode->_pLeft = NULL; pNode->_pRight = NULL; return pNode;}void test(){ BinaryTreeNode* pNode10 = CreateBinaryTreeNode(10); BinaryTreeNode* pNode6 = CreateBinaryTreeNode(6); BinaryTreeNode* pNode14 = CreateBinaryTreeNode(14); BinaryTreeNode* pNode4 = CreateBinaryTreeNode(4); BinaryTreeNode* pNode8 = CreateBinaryTreeNode(8); BinaryTreeNode* pNode12 = CreateBinaryTreeNode(12); BinaryTreeNode* pNode16 = CreateBinaryTreeNode(16); ConnectTreeNodes(pNode10, pNode6, pNode14); ConnectTreeNodes(pNode6, pNode4, pNode8); ConnectTreeNodes(pNode14, pNode12, pNode16); PrintFromTopToBottom(pNode10);}int main(){ test(); return 0;}
阅读全文
1 0
- 实现一棵二叉树的层序遍历
- 实现一颗二叉树的层序遍历。
- 实现一颗二叉树的层序遍历
- 实现一颗二叉树的层序遍历
- 二叉树--实现一颗二叉树的层序遍历
- 建立二叉树,实现二叉树的层序遍历
- 实现一颗二叉树的层序遍历【每日一题】
- 数据结构面试题/实现一颗二叉树的层序遍历
- 每日一题之二叉树的层序遍历
- 第16题:层序遍历一棵二叉树
- 队列实现二叉树的层序遍历
- Java实现二叉树带行号的层序遍历
- 【二叉树2】逐层遍历一棵二叉树
- 二叉树的层序遍历
- 二叉树的层序遍历
- 二叉树的层序遍历
- 二叉树的层序遍历
- 二叉树的层序遍历
- C++_Seqlist/Linklist
- POJ3259 解题报告
- 2017ICPCECIC
- 同步、异步、阻塞、非阻塞的理解
- JavaWeb——文件上传和下载.
- 实现一棵二叉树的层序遍历
- 合租分房策略
- HIbernate第一课--基本原理,配置
- 对现有控件进行拓展
- 2016校招腾讯研发岗笔试题---递归法求解格雷码
- Git使用总结
- 为什么使用 fftshift(fft(fftshift(x))) 而不是 fft(x)
- Java关键字之synchronized
- 泛型