博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
算法实验 层序列表问题(二叉树)
阅读量:6119 次
发布时间:2019-06-21

本文共 1638 字,大约阅读时间需要 5 分钟。

问题描写叙述:对树中结点按层序列表是指先列树根,然后从左到右一次列出全部深度为1的节点,再从做到右地列出深度为2的节点,等等。层序列表问题要求对一颗给定的二叉树按层序列表。

数据输入:第一行为一个整数n,表示给定的二叉树有n个顶点。接下来的n行中,每行有3个整数a,b,c 分别表示编号为a的节点的左儿子b和右儿子c。

5

1 4 2
4 3 0
2 5 0
3 0 0
5 0 0

output:

1 4 2 3 5

代码:

#include
#include
using namespace std;//全局变量int t1,t2,t3;typedef struct BTNode{ int data ; struct BTNode *Lchild , *Rchild ;}BTNode ;queue
q;void *Preorder_Create_BTree(BTNode *&T,int k);void InOrder(BTNode *t);void InOrder(BTNode *t);void add(BTNode *&t,int m){ if (t){ // T=NULL时,二叉树为空树,不做不论什么操作 if(t->data == m)//符合条件,则进行左孩子和右孩子加入 { Preorder_Create_BTree(t->Lchild,t2); Preorder_Create_BTree(t->Rchild,t3); }// 通过函数指针*visit訪问根结点,以便灵活完毕对应的操作 else add(t->Lchild,m); // 中序遍历左子树 add(t->Rchild,m); // 中序遍历右子树 }}/*//前序遍历void InOrder(BTNode *t){ if (t){ // T=NULL时,二叉树为空树,不做不论什么操作 cout<
data<<" "; // 通过函数指针*visit訪问根结点,以便灵活完毕对应的操作 InOrder(t->Lchild); // 中序遍历左子树 InOrder(t->Rchild); // 中序遍历右子树 }}*///层序遍历void levelOrder(BTNode *t){ BTNode *k; q.push(t); while(!q.empty()) { k = q.front(); q.pop(); cout<
data<<" "; if(k->Lchild) q.push(k->Lchild); if(k->Rchild) q.push(k->Rchild); }}int main(){ int n,i,flag= 1; BTNode * bt; Preorder_Create_BTree(bt,0); cin>>n; for(i=0;i
>t1>>t2>>t3; if(flag)//第一次应该先加入节点 { Preorder_Create_BTree(bt,t1); Preorder_Create_BTree(bt->Lchild,t2); Preorder_Create_BTree(bt->Rchild,t3); flag = 0; }// else//之后每加入一次须要再遍历二叉树,符合条件然后加入 add(bt,t1); }// cout<<"中序遍历:";// InOrder(bt);// cout<
data=k; Preorder_Create_BTree(T->Lchild,0) ; Preorder_Create_BTree(T->Rchild,0) ; }}

转载地址:http://yalka.baihongyu.com/

你可能感兴趣的文章
Linux命令——procinfo
查看>>
go标准库的学习-io
查看>>
html 富文本编辑器相关--主动选择文字-setSelectionRange-控制光标位置
查看>>
iOS-旧项目中手动内存管理(MRC)转ARC
查看>>
转:建立索引的原则 - 以innodb为例
查看>>
Spring深入理解(三)
查看>>
单据状态图
查看>>
2.1 Spring容器的基本实现--Spring源码深度解析
查看>>
ASN.1 key structures in DER and PEM
查看>>
20165226 学习基础和C语言基础调查
查看>>
iOS开发中的小技巧 - 多张图合成一张
查看>>
javascript实现各种排序算法
查看>>
centos 安装 配置
查看>>
Mac 安装mysql
查看>>
ajax
查看>>
每个人真正强大起来都要度过一段没有人帮忙
查看>>
poj1700
查看>>
pl/sql 编程(一)
查看>>
SDWebImage
查看>>
JSON API免费接口
查看>>