之前上数据结构时,只是上课听听,没咋在课下实现,现在大二都快结束了,经过几波的ACM竞赛,感觉数据结构太重要了,带着兴趣和欲望重新学一下数据结构中的基础操作

我用的是先序次序输入二叉树中节点建立的二叉树,用链式存储结构进行存储,其实在写的时候我在网上搜了好多都是带有typedef的,但是我不习惯用这个,经过几波更改,决定用下面这个写写,其实很简单只要懂一点单链表的知识,你一定能看懂,这个是我写的单链表的一些操作https://blog.csdn.net/HeZhiYing_/article/details/85285838

好了,看懂了单链表可以直接看二叉树建立与遍历的代码了

#include<stdio.h>
#include<algorithm>
using namespace std;
struct Node{char data;Node *left;Node *right;
};void CreateBitree(Node* &T);//这里是引用
void Pre(Node* T);//先序遍历
void Mid(Node* T);//中序遍历
void Post(Node* T);//后序遍历
int main()
{Node *T;CreateBitree(T);printf("先序遍历\n");Pre(T);printf("\n中序遍历\n");Mid(T);printf("\n后序遍历\n");Post(T);return 0;
}
void CreateBitree(Node* &T)//先序次序输入二叉树中节点
{char ch;scanf("%c",&ch);if(ch=='#')return;T=new Node();T->data=ch;//printf("***%c",T->data);CreateBitree(T->left);CreateBitree(T->right);
}
void Pre(Node* T)
{if(T!=NULL){printf("%c",T->data);Pre(T->left);Pre(T->right);}
}
void Mid(Node* T)
{if(T!=NULL){Mid(T->left);printf("%c",T->data);Mid(T->right);}
}
void Post(Node* T)
{if(T!=NULL){Post(T->left);Post(T->right);printf("%c",T->data);}
}

二叉树的建立与遍历(数据结构)相关推荐

  1. 小朋友学数据结构(3):二叉树的建立和遍历

    小朋友学数据结构(3):二叉树的建立和遍历 一.基本概念 BinaryTree.png 二叉树:每个结点的子结点个数不大于2的树,叫做二叉树. 根结点:最顶部的那个结点叫做根结点,根结点是所有子结点的 ...

  2. 二叉树的建立和遍历算法 - 数据结构和算法47

    二叉树的建立和遍历算法 让编程改变世界 Change the world by program   有童鞋会说,我们上节课研究这么多遍历的方法干啥呢?聪明的鱼油们怎么看?! 对于二叉树,思路方面我们已 ...

  3. 数据结构——二叉树的建立与遍历算法(实验报告)

    实验名称:二叉树的建立与遍历算法          指导教师: 实验日期:2022年月日 实验地点: 成绩: 实验目的: 1.掌握二叉树的定义. 2.二叉树的链式存储结构及在链式存储结构中三种遍历(前 ...

  4. C语言二叉树实验报告流程图,二叉树的建立与遍历实验报告(c语言编写,附源代码).doc...

    二叉树的建立与遍历实验报告(c语言编写,附源代码).doc 第 1 页,共 9 页二叉树的建立与遍历实验报告级 班 年 月 日 姓名 学号_ 1实验题目建立一棵二叉树,并对其进行遍历(先序.中序.后序 ...

  5. 二叉树的遍历实验报告C语言,二叉树的建立与遍历实验报告(c语言编写,附源代码)...

    程序用VC编写,实现建立一棵二叉树的功能,并对其进行遍历(先序.中序.后序),并且打印输出遍历结果. 二叉树的建立与遍历实验报告 级 班 年 月 日 姓名 学号_ 1.实验题目 建立一棵二叉树,并对其 ...

  6. 二叉树的建立和遍历程序代码(Java,C)

    C语言 考虑到c语言的scanf("%c",&c)是输入后一个字符一个字符的取出这一特性,我们选择用createBiTree()方法接受输入的参数,然后直接建立.运用递归的 ...

  7. 二叉树的建立和遍历的各种问题

    链表声明: //基本结构声明 #include<iostream> #include<queue> #include<stack> #include<cstd ...

  8. 二叉树的建立与遍历(先中后层序)

    在做一些算法题时,我会经常用到VS2017去测试,每次去找一个合适的二叉树觉得很麻烦,今天就自己写了一个放在博客上,下次就直接复制了 包含二叉树的建立,以及二叉树的前序遍历.中序遍历.后序遍历和层序遍 ...

  9. 二叉树 的建立及遍历 过程

    我知道二叉树有先序遍历,中序遍历,后续遍历等等,不过这里说的的是输入一些点(11,LL) (7,LLL) (8,R) (5,) (4,L) (13,RL) (2,LLR) (1,RRR) (4,RR) ...

最新文章

  1. java多线程基本概述(二十)——中断
  2. go int 转char_Go语言的奇特语法,你怎么看?
  3. 【五校联考7day1】n染色
  4. rror Code: 1175. You are using safe update mode and you tried to update a table without a WHERE that
  5. 循环划线_经济内外双循环下的思考!
  6. Django中的路由分发
  7. oracle雇主联盟官网,ocm联盟线下分享会圆满结束!
  8. python 自定义函数语句_python 自定义函数
  9. linux系统怎样安装驱动程序,linux下如何安装硬件驱动程序?linux系统如何加载USB光驱...
  10. Clover 引导 Windows 及 Linux 双系统
  11. 用计算机名共享打印机不能打印,共享打印机无法打印怎么办解决教程
  12. YY0709标准解读
  13. 恋爱测试题测男生软件,男友求生欲测试题大全
  14. 两种常见的周期性特征,时序必知强特
  15. Electron + Vue 实现输入法自动刷字数
  16. PyQt4实时显示文本内容GUI
  17. Typec转hdmi+vga+pd+3.5音频方案设计参考电路|CS5266+CS201方案电路图|Typec扩展坞五合一方案设计
  18. vue大文件上传断点续传解决方案
  19. 浏览器无法访问部分网站
  20. 加速度传感器灵敏度的几种表示方式

热门文章

  1. DataGridView 禁用自动生成列
  2. 【Spring】21、用spring目标对象处理Transaction rolled back because it has been marked as rollback-only...
  3. linux的文件权限分析
  4. http请求消息体和响应消息体
  5. 【推荐】SQL Server 2008 R2 中英文 开发版/企业版/标准版 下载
  6. 仿新浪邮件输入自动提示jQuery插件
  7. Mysql日期差的函数
  8. udt编写高性能服务器,基于UDT协议的Oracle数据库远程备份的设计和实现
  9. linux libmpi.so.12,单机安装vasp5.4.4,系统SUSE 12 SP3,编译器Intel_Parallel_Studio_XE_2019_Linux...
  10. 设置只能查看一条_苹果手机QQ又一次更新 可分屏查看文件