面试题21:从上往下打印二叉树
来源:互联网 发布:js页面加载完毕执行 编辑:程序博客网 时间:2024/05/01 12:09
代码:
#include "stdafx.h"#include <iostream>#include <deque>using namespace std;struct BinaryTreeNode{int m_nValue;BinaryTreeNode *m_pLeft;BinaryTreeNode *m_pRight;};void PrintFromTopToDown(BinaryTreeNode *pRoot){if (pRoot == NULL){return;} deque<BinaryTreeNode *> myDeque;myDeque.push_back(pRoot);while (!myDeque.empty()){ BinaryTreeNode *pTop = myDeque.front();cout << pTop->m_nValue << " ";myDeque.pop_front();if (pTop->m_pLeft != NULL){myDeque.push_back(pTop->m_pLeft);}if (pTop->m_pRight != NULL){myDeque.push_back(pTop->m_pRight);}}}//以先序的方式构建二叉树,输入-1表示结点为空void CreateBinaryTree(BinaryTreeNode *&pRoot){int nNodeValue = 0;cin >> nNodeValue;if (-1 == nNodeValue){return; }else{pRoot = new BinaryTreeNode();pRoot->m_nValue = nNodeValue;CreateBinaryTree(pRoot->m_pLeft);CreateBinaryTree(pRoot->m_pRight);}}void PrintInOrder(BinaryTreeNode *&pRoot){if (pRoot != NULL){PrintInOrder(pRoot->m_pLeft);cout << pRoot->m_nValue << " ";PrintInOrder(pRoot->m_pRight);}}int _tmain(int argc, _TCHAR* argv[]){BinaryTreeNode *pRoot = NULL;CreateBinaryTree(pRoot);PrintInOrder(pRoot);cout << endl; PrintFromTopToDown(pRoot);cout << endl;system("pause");return 0;}
- 面试题21:从上往下打印二叉树
- 面试题22:从上往下打印二叉树
- 面试题23:从上往下打印二叉树
- 【面试题二十三】从上往下打印二叉树
- 从上往下打印二叉树(面试题 23)
- 面试题23 从上往下打印二叉树
- 面试题23:从上往下打印二叉树
- 面试题23:从上往下打印二叉树
- 面试题23从上往下打印二叉树
- 面试题23_从上往下打印二叉树
- 面试题23从上往下打印二叉树
- 面试题:23从上往下打印二叉树
- 面试题23:从上往下打印二叉树
- 面试题23:从上往下打印二叉树
- 面试题27:从上往下打印二叉树
- 剑指offer面试题 从上往下打印二叉树
- 面试题23:从上往下打印二叉树
- 面试题23:从上往下打印二叉树
- struct file
- 内核配置zc301 uvc USB摄像头 android usb 摄像头
- BaseAdapter与SimpleAdapter的使用
- BeginWaitCursor()、EndWaitCursor()和RestoreWaitCursor()3个成员函数处理等待光标
- 记录一下android常用系统权限(permission)
- 面试题21:从上往下打印二叉树
- js获取鼠标位置
- c指针详解
- ARP协议的安全威胁问题解决技巧【mfxp】
- 将APEX安装在Oracle RAC上
- 在模态视图的textField输入的文字改变首页的Label文字(使用代理和消息机制实现)
- 总结大型高并发高负载网站的系统架构
- android media player 状态机
- ADS1.2入门