编程之美读书笔记---分层遍历二叉树
来源:互联网 发布:windows性能监控软件 编辑:程序博客网 时间:2024/05/14 13:52
层序遍历一颗二叉树。给定一颗二叉树如下:
输出结果:
1
2 3
4 5 6
7 8
给出书上的两种实现:
#include <iostream>#include <cstring>#include <vector>using namespace std;struct node{int data;node* left;node* right;};void creattree(node* &root){root=new node;root->data=1;node* t2=new node;t2->data=2;root->left=t2;node* t3=new node;t3->data=3;root->right=t3;node* t4=new node;t4->data=4;t2->left=t4;node* t5=new node;t5->data=5;t2->right=t5;node* t6=new node;t6->data=6;t3->left=NULL;t3->right=t6;t6->left=t6->right=NULL;t4->left=t4->right=NULL;node* t7=new node;t7->data=7;t7->left=t7->right=NULL;t5->left=t7;node* t8=new node;t8->data=8;t8->left=t8->right=NULL;t5->right=t8;}int printatlevel(node* root,int level){if(!root||level<0)return 0;if(level==0){cout<<root->data<<" ";return 1;}return printatlevel(root->left,level-1)+printatlevel(root->right,level-1);}void printbylevel(node* root){for(int level=0;;level++){if(!printatlevel(root,level))break;cout<<endl;}}void destroy(node* root){if(root->left==NULL&&root->right==NULL){delete root;return ;}if(root->left)destroy(root->left);if(root->right)destroy(root->right);delete root;}void print_new(node * root){if(root==NULL)return ;vector<node*> vec;vec.push_back(root);int cur=0,last=1;while(cur<vec.size()){last=vec.size();while(cur<last){cout<<vec[cur]->data<<" ";if(vec[cur]->left) vec.push_back(vec[cur]->left);if(vec[cur]->right)vec.push_back(vec[cur]->right);cur++;}cout<<endl;}}int main(){node *root;creattree(root);//printatlevel(root,1);//printbylevel(root);print_new(root);destroy(root); //回收由new分配的内存return 0;}
- 读书笔记之编程之美 - 3.10 分层遍历二叉树
- 编程之美读书笔记_3.10 分层遍历二叉树
- 编程之美读书笔记_3.10 分层遍历二叉树
- 编程之美读书笔记3:3.10分层遍历二叉树
- 编程之美读书笔记 分层遍历二叉树
- 编程之美读书笔记---分层遍历二叉树
- 编程之美读书笔记-2 分层遍历二叉树
- 编程之美读书笔记-分层遍历二叉树
- 编程之美:分层遍历二叉树
- 编程之美---分层遍历二叉树
- 分层遍历二叉树-编程之美
- 编程之美-----分层遍历二叉树
- [编程之美]分层遍历二叉树
- [编程之美] 分层遍历二叉树
- 编程之美--分层遍历二叉树
- 编程之美-分层遍历二叉树
- 编程之美 - 分层遍历二叉树
- 编程之美系列之二叉树的分层遍历
- 泛型
- Combinations
- poj1789 PRIM算法优先队列版(STL框架)
- grails树
- Linux学习-常用命令(一)
- 编程之美读书笔记---分层遍历二叉树
- uva 579 ClockHands(找规律)
- 大数据时代
- 网站运营的八大理论
- Android
- 第一篇博客
- 【算法】各大公司笔试题目之数组相关笔试题
- 【广度优先遍历】营救公主
- 飘逸的python - 嵌套太深了,让笛卡尔拉你一把