满意答案

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语言相关推荐

  1. 信管家源代码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); ...

  2. 信管家源代码c语言,AK老唐信管家软件指标 火车轨系统指标源码

    信管家软件指标 火车轨系统指标源码 交易成本20美元 火车轨系统,长短线皆宜.短线红多绿空,长线粉多蓝空.可以用来判断趋势,辅助进出场点. 指标源码: S:=CROSS(CLOSE,EMA(HIGH, ...

  3. 搭建文华财经博易大师信管家多国语言IQ Option二元期权源码

    搭建文华财经博易大师信管家多国语言IQ Option二元期权源码 ★稳定高并发的系统C#语言搭建: ★行情数据实时流畅不卡不顿: ★365天贴心服务保驾护航: 搭建:IQ Option二元期权.Exp ...

  4. 搭建多国语言台湾IQ Option二元期权MT4博易大师信管家

    搭建多国语言台湾IQ Option二元期权MT4博易大师信管家 ★稳定高并发的系统C#语言搭建: ★行情数据实时流畅不卡不顿: ★365天贴心服务保驾护航: 搭建:IQ Option二元期权.Expe ...

  5. 子佩短信管家 v1.0.0

    类型:系统工具 版本:v1.0.0 大小:13.9M 更新:2019/3/1 语言:简体 等级: 平台:安卓, 4.0以上 下载地址: 子佩短信管家 v1.0.0(1) 子佩短信管家 v1.0.0(2 ...

  6. 搭建IQ Option二元期权、ExperOption二元期权MT4博易大师信管家

    搭建IQ Option二元期权.ExperOption二元期权MT4博易大师信管家 ★稳定高并发的系统C#语言搭建: ★行情数据实时流畅不卡不顿: ★365天贴心服务保驾护航: 搭建:IQ Optio ...

  7. c语言建立队列(顺序队列、循化队列和链式队列)

    c语言建立队列 一.顺序队列 队列的顺序存储结构 顺序队列的讨论 "下溢"现象 "真上溢"现象 "假上溢"现象 二.如何解决"假上 ...

  8. C语言实现队列ADT(Queue ADT)接口COMP2521(附完整源码)

    C语言实现队列ADT接口COMP2521 QueueRep结构体定义 node结构体定义 实现以下5个接口 完整头文件 完整源文件 QueueRep结构体定义 typedef struct Queue ...

  9. 《嵌入式C编程:PIC单片机和C编程技术与应用》一第1章C语言概述和程序结构1.1 C源代码...

    本节书摘来自华章出版社<嵌入式C编程:PIC单片机和C编程技术与应用>一书中的第1章,第1.1节,作者 [美]马克·西格斯蒙德(Mark Siegesmund),更多章节内容可以访问云栖社 ...

最新文章

  1. mysql如何下载连接到visual_Visual Studio 2015 Community连接到Mysql
  2. java 读取 远程文件_利用JAVA获取远程文件及使用断点续传 供学习者使用
  3. 优化SQL查询:如何写出高性能SQL语句
  4. 安卓 linux找回内置存储,Android手机自带内部存储路径的获取
  5. 未能找到程序集“platform.winmd_应用程序崩溃后 微软错误报告工具到底是如何联机检查解决方案的?...
  6. 勒索软件损失2年增15倍 2017年可达50亿美元
  7. 了不起的 Unicode!
  8. Linux系统如何把一个文件传递到另一个机器上
  9. python可以下载百度文库的文档_Python 文档
  10. keras-迁移学习-resnet101-踩过的坑
  11. 简述C++中map和unordered_map的用法
  12. 微信5.0打飞机怎么取得高分?
  13. java用zipOutputStream压缩后用WinRAR解压出现“不可预料的压缩文件末端”错误
  14. FeynRules的上手使用1--介绍模型参数设置
  15. 人类计划软件测试,人类分裂了16种人格,测测你是哪一种?
  16. 前端Vue项目调用页面web3.js:连接metaMask钱包,(查询钱包ETH余额,查询代币余额,ETH转账,代币转账,代币授权,查询授权数量,计算价格)等功能
  17. USACO 3.2 Magic Squares 魔板
  18. HTML开发者工具抓取所有图片,利用Chrome开发者工具功能进行网页整页截图的方法...
  19. 表格td的宽度不随内容自适应
  20. 使用zerotier one实现内网穿透及MOON架设过程整理

热门文章

  1. 网管交换机和非网管交换机有什么区别?
  2. [渝粤教育] 广东-国家-开放大学 21秋期末考试服务标准化10011k1
  3. 【渝粤教育】国家开放大学2018年春季 0529-21T高级英语阅读(1) 参考试题
  4. 【渝粤教育】 国家开放大学2020年春季 2136管理会计 参考试题
  5. [渝粤教育] 中国地质大学 大学英语(1) 复习题
  6. 【渝粤题库】陕西师范大学201001 教育管理学(高起本)作业
  7. linux 软件 名称 更新,linux软件版本管理命令update-alternatives使用详解
  8. java readline 超时_跳过Java中的BufferedReader readLine()方法
  9. CSAPP:Attack lab
  10. 你活在一个计算机模拟中吗,一麻省理工教授认为,我们更有可能生活在计算机模拟宇宙中...