5-4 List Leaves
来源:互联网 发布:淘宝达人直播申请 编辑:程序博客网 时间:2024/04/27 08:07
点击打开链接
用一个队列实现了二叉树的层序遍历
#include<stdio.h>#include<stdlib.h>#include<iostream>#include<queue>using namespace std;#define null -1struct TreeNode{ int Element; int right,left;}T1[100];int Buildtree(struct TreeNode T[]){ int n,chick[100],root; char left,right; cin>>n; if(n) { for(int i=0;i<n;i++) chick[i]=0; for(int i=0;i<n;i++) { T[i].Element=i; cin>>left>>right; if(left != '-') { T[i].left=left-'0'; chick[T[i].left]=1; } else T[i].left=-1; if(right != '-') { T[i].right=right-'0'; chick[T[i].right]=1; } else T[i].right=-1; } for(int i=0;i<n;i++) { if(chick[i]==0) { root=i; break; } } } else root=-1; return root;}int flag=0;/*void pretravel(int bt){ if(bt>=0) { pretravel(T1[bt].left); if(T1[bt].left==null &&T1[bt].right==null) { if(flag) cout<<" "; cout<<bt; flag++; } pretravel(T1[bt].right); }}*/void leveltravel(int bt){ queue<int> q; int t; if(bt<0) return; q.push(bt); while(!q.empty()) { int tmp=q.front(); q.pop(); if(T1[tmp].left!=null) q.push(T1[tmp].left); if(T1[tmp].right!=null) q.push(T1[tmp].right); if(T1[tmp].left==null && T1[tmp].right==null ) { if(flag) cout<<" "; cout<<tmp; flag++; } }}int main(){ int Root; Root=Buildtree(T1); leveltravel(Root);}
阅读全文
1 0
- 5-4 List Leaves
- 5-4 List Leaves (25分)
- 5-4 List Leaves (25分)
- List Leaves
- List Leaves
- List Leaves
- List Leaves
- List Leaves
- List leaves
- List Leaves
- List Leaves
- List Leaves
- PAT List Leaves
- List Leaves (25)
- List Leaves (25分)
- PTA List Leaves
- 03-2. List Leaves (25)
- List Leaves【数据结构测试3.2】
- 理解RecyclerView的RecyclerView.ItemDecoration(二)
- 一起艳恶学习开发遇到的坑(一)
- 仿淘宝一键置顶的判断及其详细实现
- ajax跨域问题以及解决方案
- java集合框架之Vector
- 5-4 List Leaves
- 简单理解树状数组(单个数据)
- 软键盘隐藏和弹出的监听
- 哈夫曼编码与解码的JavaScript实现
- 【shell】比较两个文件是否相同
- WebService学习记录(1)
- mysql tcpdump使用
- 惊!Facebook的AI机器人发展出了自己的语言,AI要觉醒吗?
- 1.twoSum