层序结构储存二叉树
来源:互联网 发布:mac怎么装虚拟机 编辑:程序博客网 时间:2024/06/05 23:41
#include<iostream>using namespace std;int a[20],b[20];int main(){int i,n,nu;cout<<"您要输入几个空结点:"<<endl; cin>>n;cout<<"分别为那几号:"<<endl;for(i=1;i<=n;i++){cin>>nu;a[nu]=NULL;b[i]=nu;}cout<<"请输入各结点的信息"<<endl;for(i=1;i<=7;i++){ bool flag = false;for(int j = 0;j < 7;j++){if(i == b[j]){flag = true;}} if(flag){}else{cout<<"a["<<i<<"]=";cin>>a[i];}}cout<<"层序输出节点数据如下:"<<endl;for(i=1;i<=7;i++)//层序输出{ if(a[i]==NULL){}else{cout<<"a["<<i<<"]="<<a[i]<<" "<<endl;}}cout<<"////////////////"<<endl;for(i=1;i<=7;i++)//找孩子和双亲结点{if(a[i]==NULL){}else{ cout<<"a["<<i<<"]="<<a[i]<<" "<<endl; if(a[2*i]==NULL) cout<<"左孩子结点为空"<<endl; else cout<<"左孩子结点为:"<<a[2*i]<<endl; if(a[2*i+1]==NULL) cout<<"右孩子结点为空"<<endl; else cout<<"右孩子结点为:"<<a[2*i+1]<<endl; if(a[int (i/2)]==NULL) cout<<"双亲结点为空"<<endl; else cout<<"双亲结点是为:"<<a[int (i/2)]<<endl; if(a[2*i]==NULL&&a[2*i+1]==NULL) cout<<"该结点是叶子结点"<<endl;} }return 0;}
实验结果如图
阅读全文
1 0
- 层序结构储存二叉树
- 层序遍历二叉树
- 层序遍历二叉树
- 层序输出二叉树
- 层序遍历二叉树
- 层序遍历二叉树
- 层序输出二叉树:
- 二叉树-层序遍历
- 二叉树------层序遍历
- 层序遍历二叉树
- 层序遍历二叉树
- 层序生成二叉树
- 层序遍历二叉树
- 层序遍历二叉树
- 二叉树的储存与遍历
- 在以(后继)线索二叉树为储存结构的二叉排序树中删除关键字为x的数据元素
- 实现二叉树的层序遍历,说说Java中的队列结构(实现一个Java的队列)
- 层序遍历二叉树指定的某层
- 每日练习20171101
- centos
- 洛谷 1171 售货员的难题 状压DP 解题报告
- 学Linux的第二天(安装CentO有感)
- Folding
- 层序结构储存二叉树
- 九九乘法表
- //输入一个数并判断奇偶性
- 函数栈帧(函数调用过程详解)
- 第五章
- 语音压缩思路
- HTML部分基础总结(3)
- Java跨平台原理
- 八皇后问题