信管家源代码c语言,用队列实现按层次创建二叉树的源代码,最好是C语言
满意答案
Dcool
2016.08.27
采纳率:58% 等级:9
已帮助:416人
队列??你每输入一个节点将其存入队列中,再输入它的左孩子,它的左孩子也会入队,我们取的时候应先取该节点的左孩子,
LZ一定要用队列也行,但绝对不是正确的选择!
队列如下:123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990#include using namespace std;typedef struct bitnode{ char data; struct bitnode *lchild,*rchild;}*bitree,tree;int number=0;void createbitree(bitree &t){ char c; int i=0,r=0,f=0;//r,f分别指向队首和队尾 bitree p=NULL,temp=NULL,pre=NULL,s[100]; s[0]=NULL; int lflag[100]={0}; int rflag[100]={0}; printf("请输入根节点:"); t=new tree; t->lchild=t->rchild=NULL; scanf("%c",&t->data); temp=pre=t->lchild; s[++i]=t; f=i; p = t; while(f!=r) { if(p->lchild==NULL&&lflag[i]==0) { printf("请输入%c的左孩子:",p->data); fflush(stdin); scanf("%c",&c); if(c!='#') { p->lchild = new tree; p = p->lchild; p->lchild=p->rchild=NULL; p->data = c; s[++f]=p; i = f; lflag[i]=rflag[i]=0; } else lflag[i]=1; } else if(p->rchild==NULL&&rflag[i]==0) { printf("请输入%c的右孩子:",p->data); fflush(stdin); scanf("%c",&c); if(c!='#') { p->rchild = new tree; p = p->rchild; p->lchild=p->rchild=NULL; p->data = c; s[++f]=p; i=f; lflag[i]=rflag[i]=0; } else { rflag[i]=1; p=s[++r]; i=r; } } else { p=s[++r]; i=r; } }}void preorder(bitree &t)//遍历二叉树,输出函数{ if (t!=0) { cout<data<lchild); preorder(t->rchild); }}void main(){ bitree t; t=0; createbitree(t); cout<
在此,强烈建议LZ用栈,更符合树的输入层次:1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283#include using namespace std;typedef struct bitnode{ char data; struct bitnode *lchild,*rchild;}*bitree,tree;int number=0;void createbitree(bitree &t){ char c; int i=0; bitree p=NULL,temp=NULL,pre=NULL,s[100]; s[0]=NULL; int lflag[100]={0}; int rflag[100]={0}; printf("请输入根节点:"); t=new tree; t->lchild=t->rchild=NULL; scanf("%c",&t->data); temp=pre=t->lchild; s[++i]=t; p = t; while(s[i]!=NULL) { if(p->lchild==NULL&&lflag[i]==0) { printf("请输入%c的左孩子:",p->data); fflush(stdin); scanf("%c",&c); if(c!='#') { p->lchild = new tree; p = p->lchild; p->lchild=p->rchild=NULL; p->data = c; s[++i]=p; lflag[i]=rflag[i]=0; } else lflag[i]=1; } else if(p->rchild==NULL&&rflag[i]==0) { printf("请输入%c的右孩子:",p->data); fflush(stdin); scanf("%c",&c); if(c!='#') { p->rchild = new tree; p = p->rchild; p->lchild=p->rchild=NULL; p->data = c; s[++i]=p; lflag[i]=rflag[i]=0; } else { rflag[i]=1; p=s[--i]; } } else p=s[--i]; }}void preorder(bitree &t)//遍历二叉树,输出函数{ if (t!=0) { cout<data<lchild); preorder(t->rchild); }}void main(){ bitree t; t=0; createbitree(t); cout<
不懂追问!你的疑问往往是我要学习的地方!追问: 附件失效了
追答:逗……服了百度……老是出事
不行啊,传不上去,
你QQ多少……我发邮件
01分享举报
信管家源代码c语言,用队列实现按层次创建二叉树的源代码,最好是C语言相关推荐
- 信管家源代码c语言,AK老唐信管家软件指标 宝塔线副图源码
信管家软件指标 宝塔线副图源码 收盘价格:C,POINTDOT; B0:=REF(C-O,2);B1:=REF(C,1);B2:=REF(C,2);B3:=REF(C,3);B4:=REF(C,4); ...
- 信管家源代码c语言,AK老唐信管家软件指标 火车轨系统指标源码
信管家软件指标 火车轨系统指标源码 交易成本20美元 火车轨系统,长短线皆宜.短线红多绿空,长线粉多蓝空.可以用来判断趋势,辅助进出场点. 指标源码: S:=CROSS(CLOSE,EMA(HIGH, ...
- 搭建文华财经博易大师信管家多国语言IQ Option二元期权源码
搭建文华财经博易大师信管家多国语言IQ Option二元期权源码 ★稳定高并发的系统C#语言搭建: ★行情数据实时流畅不卡不顿: ★365天贴心服务保驾护航: 搭建:IQ Option二元期权.Exp ...
- 搭建多国语言台湾IQ Option二元期权MT4博易大师信管家
搭建多国语言台湾IQ Option二元期权MT4博易大师信管家 ★稳定高并发的系统C#语言搭建: ★行情数据实时流畅不卡不顿: ★365天贴心服务保驾护航: 搭建:IQ Option二元期权.Expe ...
- 子佩短信管家 v1.0.0
类型:系统工具 版本:v1.0.0 大小:13.9M 更新:2019/3/1 语言:简体 等级: 平台:安卓, 4.0以上 下载地址: 子佩短信管家 v1.0.0(1) 子佩短信管家 v1.0.0(2 ...
- 搭建IQ Option二元期权、ExperOption二元期权MT4博易大师信管家
搭建IQ Option二元期权.ExperOption二元期权MT4博易大师信管家 ★稳定高并发的系统C#语言搭建: ★行情数据实时流畅不卡不顿: ★365天贴心服务保驾护航: 搭建:IQ Optio ...
- c语言建立队列(顺序队列、循化队列和链式队列)
c语言建立队列 一.顺序队列 队列的顺序存储结构 顺序队列的讨论 "下溢"现象 "真上溢"现象 "假上溢"现象 二.如何解决"假上 ...
- C语言实现队列ADT(Queue ADT)接口COMP2521(附完整源码)
C语言实现队列ADT接口COMP2521 QueueRep结构体定义 node结构体定义 实现以下5个接口 完整头文件 完整源文件 QueueRep结构体定义 typedef struct Queue ...
- 《嵌入式C编程:PIC单片机和C编程技术与应用》一第1章C语言概述和程序结构1.1 C源代码...
本节书摘来自华章出版社<嵌入式C编程:PIC单片机和C编程技术与应用>一书中的第1章,第1.1节,作者 [美]马克·西格斯蒙德(Mark Siegesmund),更多章节内容可以访问云栖社 ...
最新文章
- mysql如何下载连接到visual_Visual Studio 2015 Community连接到Mysql
- java 读取 远程文件_利用JAVA获取远程文件及使用断点续传 供学习者使用
- 优化SQL查询:如何写出高性能SQL语句
- 安卓 linux找回内置存储,Android手机自带内部存储路径的获取
- 未能找到程序集“platform.winmd_应用程序崩溃后 微软错误报告工具到底是如何联机检查解决方案的?...
- 勒索软件损失2年增15倍 2017年可达50亿美元
- 了不起的 Unicode!
- Linux系统如何把一个文件传递到另一个机器上
- python可以下载百度文库的文档_Python 文档
- keras-迁移学习-resnet101-踩过的坑
- 简述C++中map和unordered_map的用法
- 微信5.0打飞机怎么取得高分?
- java用zipOutputStream压缩后用WinRAR解压出现“不可预料的压缩文件末端”错误
- FeynRules的上手使用1--介绍模型参数设置
- 人类计划软件测试,人类分裂了16种人格,测测你是哪一种?
- 前端Vue项目调用页面web3.js:连接metaMask钱包,(查询钱包ETH余额,查询代币余额,ETH转账,代币转账,代币授权,查询授权数量,计算价格)等功能
- USACO 3.2 Magic Squares 魔板
- HTML开发者工具抓取所有图片,利用Chrome开发者工具功能进行网页整页截图的方法...
- 表格td的宽度不随内容自适应
- 使用zerotier one实现内网穿透及MOON架设过程整理
热门文章
- 网管交换机和非网管交换机有什么区别?
- [渝粤教育] 广东-国家-开放大学 21秋期末考试服务标准化10011k1
- 【渝粤教育】国家开放大学2018年春季 0529-21T高级英语阅读(1) 参考试题
- 【渝粤教育】 国家开放大学2020年春季 2136管理会计 参考试题
- [渝粤教育] 中国地质大学 大学英语(1) 复习题
- 【渝粤题库】陕西师范大学201001 教育管理学(高起本)作业
- linux 软件 名称 更新,linux软件版本管理命令update-alternatives使用详解
- java readline 超时_跳过Java中的BufferedReader readLine()方法
- CSAPP:Attack lab
- 你活在一个计算机模拟中吗,一麻省理工教授认为,我们更有可能生活在计算机模拟宇宙中...