`

完全二叉树的建立(2)

 
阅读更多

加油!!!

#include<stdio.h>
#include<stdlib.h>
#include<queue>
using namespace std;
typedef struct No{
char date;
No* left;
No* right;
} Node;
///////////////////完全二叉树的建立///////////
Node *creatbt()
{
Node *root=NULL,*s;
queue<Node*>Q;
char a;
int count=0;
while(scanf("%c",&a),a!='#'){
s=NULL;
if(a!='@'){
s=(Node*)malloc(sizeof(Node));
s->date=a;
s->left=NULL;
s->right=NULL;
}
Q.push(s);
count++;
if(count==1)
root=s;
else{
if(s&&!Q.empty())
if(count%2==0)
Q.front()->left=s;
else Q.front()->right=s;
if(count%2==1)Q.pop();
}
}
return root;
}

void printt(Node *t)
{
if(t){
printt(t->left);
printf("%c",t->date);
printt(t->right);
}
}
main()
{
Node* root;
printf("请按照前序输入字符:/n");
root=creatbt();
printf("按照中序遍历的结果是:/n");
printt(root);
return 0;
}

分享到:
评论

相关推荐

    层次建立完全二叉树并中序遍历

    层次建立完全二叉树的建立与中序遍历的实现

    非递归遍历完全二叉树 & 递归遍历完全二叉树

    1.建立完全二叉树 2.先序非递归遍历二叉树函数 & 先序递归遍历二叉树验证 3.中序非递归遍历二叉树函数 & 中序递归遍历二叉树验证 4.后序非递归遍历二叉树函数 & 后序递归遍历二叉树验证

    数据结构试验3二叉树建立,遍历等

    数据结构试验3二叉树建立,遍历等操作代码及运行结果。 实验内容: 采用二叉链表存储,实现二叉树的创建、遍历(递归)、赫夫曼编码和译码等典型操作。 1. 编程实现如下功能: (1)假设二叉树的结点值是字符型,...

    二叉树的建立

    二叉树的建立,利用左右孩子指针,查找节点并求指定节点路径

    二叉树的建立与遍历

    每棵子树又都是二叉树,所以构造一棵子树的过程与构造整棵二叉树的过程完全相同(采用递归形式直到叶子结点为止)。 2) 先序序列的输入:从键盘输入任意一棵二叉树的先序序列,用#代表空指针,如下图所示的二叉树,...

    二叉树建立和遍历

    以二叉链表存储二叉树,按照完全二叉树的编号顺序输入节点,创建二叉树,最后,给出三种遍历的结果

    数据结构 C语言建立二叉树

    C语言 二叉树 C 数据结构 用C语言实现建立一棵二叉树 支持插入,删除结点,画出二叉树

    Java基于向量实现的完全二叉树(算法源码)

    //构造方法:按照给定的节点序列,批量式建立完全二叉树 public ComplBinTree_Vector(Sequence s) { this(); if (null !=s) while (!s.isEmpty()) addLast(s.removeFirst()); } /*---------- BinaryTree接口中各...

    二叉树编码

    编程实现二叉树的建立,先序、中序、后序、层序遍历(非递归方法),二叉树的高度、交换左右子树,统计叶子节点的数目,判断是否为完全二叉树,用括号的形式输出树等功能。 [基本要求] 程序输出菜单界面,菜单包含8...

    MFC实现(数据结构)二叉树的应用

    其中包括二叉树的各种基本函数以及常用函数(实现二叉树的建立以及建立二叉树后的中序、前序、后序的递归和非递归函数,层次遍历的非递归函数)。 通过MFC实现可视化,即输入前序遍历二叉树的序列,即可以显示二叉树...

    C++实现按层次 建立 完全二叉树

    自己写的 搜了下 很难搜索到 现在提供给大家 有什么问题可以问我

    mfc二叉树的实现,涉及到增加节点等运算

    详细的给出了二叉树的建立,节点的增加与删除,很好的把二叉树的基本算法实现了。

    第六章 树和二叉树作业及答案(100分).docx

    2. 一棵“完全二叉树”结点数为25,高度为( )。 A.4 B.5 C.6 D.不确定 3.下列说法中,( )是正确的。 A. 二叉树就是度为2的树 B. 二叉树中不存在度大于2的结点 C. 二叉树是有序树 D. 二叉树中每个结点的度...

    利用一维数组中的数据构造完全二叉树

    自己写的 有问题 可以问我 因为是要交作业 自己写的 而且搜了下 没什么答案 希望可以帮组到大家

    数据结构第3次作业-2020版.docx

    一、数组与广义表 习题集 5.1 5.5 5.7 5.10 上机编程题 习题集5.19 二、二叉树(一) 1. 写算法 (1)已知二叉树(二叉链表...(2)从键盘输入n个数据建立n元完全二叉树顺序存储结构。实现该完全二叉树的先、中、后序遍历。

    二叉树的非递归遍历运算

    二叉树的非递归遍历运算 ...2) 输出该二叉树 3) 非递归的层次遍历算法 4) 非递归的先序遍历、中序遍历、后序遍历算法 5)查找指定结点的双亲。 6)查找指定结点x,若存在返回true,否则返回false 7)求各结点的度。

    数据结构:二叉树

    数字结构课程设计时写的二叉树,代码结构不是很好,但是完全可以实现二叉树要求

    C++ 数据库二叉树的实现

    一、实验目的 1.掌握构造二叉链表树的算法。 2.掌握遍历二叉树的四种(先序、中序、后序、层序)算法...5、编写算法判定给定二叉树是否为完全二叉树。 6、编写递归算法,求二叉树中以元素值为x的结点为根的子树的深度。

    数据结构(C语言版) 第五章 树与二叉树 知识梳理 + 作业习题详解1

    2.有序树和无序树 3.森林 4.树的基本性质 1.先序遍历 2.中序遍历 3.后序遍历 4.层序遍历 1.二叉树的建立 2.计算二叉树结点总数 3.计算二叉树

Global site tag (gtag.js) - Google Analytics