暑假集训 二叉树 大话数据结构上讲的
来源:互联网 发布:光纤分路器 什么网络 编辑:程序博客网 时间:2024/06/07 02:08
二叉树两种存储结构 顺序存储和链式存储 顺序
二叉树遍历分为 前序遍历 中序遍历 后序遍历 层次遍历
#include <iostream>#include <stdlib.h>#include<string>#include<cstdio>using namespace std;typedef struct bitnode{ struct bitnode* leftchild; // 指针 注意 typedef 创建一个指针 struct bitnode* rightchild; char data;}bitnode,*bitree;void creattree(bitree &t) // 用递归建立二叉树 输入#为没有数据{ char ch; cin>>ch; if(ch=='#') t=NULL; else { t=(bitnode *)malloc(sizeof(bitnode)); t->data=ch; // t->leftchild=new bitnode; t->rightchild=new bitnode; creattree((t)->leftchild); creattree((t)->rightchild); }}void preorder(bitree t){ if((t)!=NULL) { cout<<(char)t->data; if(t->leftchild!=NULL) { preorder(t->leftchild); } if(t->rightchild!=NULL) { preorder(t->rightchild); } }}void dowork(){ bitnode* cam; creattree(cam); preorder(cam);}int main(){ dowork(); return 0;}中序和后序就把先序的位置换一下就OK了
这是先序的代码
void preorder(bitree t) //先序{ if((t)!=NULL) { cout<<(char)t->data; if(t->leftchild!=NULL) { preorder(t->leftchild); } if(t->rightchild!=NULL) { preorder(t->rightchild); } }}中序
void inode(bitree t){ if(t!=NULL) { inode(t->leftchild); cout<<t->data; inode(t->rightchild); }}后序
void prostnode(bitree t){ if(t!=NULL) { prostnode(t->leftchild); prostnode(t->rightchild); cout<<t->data; }}主函数调用
int main(){ bitnode* cam; creattree(cam); preorder(cam); cout<<endl; inode(cam); cout<<endl; prostnode(cam); return 0;}
阅读全文
0 0
- 暑假集训 二叉树 大话数据结构上讲的
- 暑假集训 8.8 sdut2136 数据结构实验之二叉树的建立与遍历
- 暑假集训 8.12 sdutoj3375 数据结构实验之查找三:树的种类统计 (简单字符排序二叉树)
- 暑假集训 8.8-2 sdut3344 数据结构实验之二叉树五:层序遍历
- 暑假集训-数据结构
- 暑假集训 8.11 树结构练习——排序二叉树的中序遍历 sdutoj2128
- 《大话数据结构》之二叉树的四种遍历
- 【大话数据结构】树和二叉树
- 大话数据结构十五:线索二叉树
- 大话数据结构十六:哈夫曼树(最优二叉树)
- 大话数据结构读书笔记(4)----二叉树
- 大话数据结构(平衡二叉树)
- 暑假集训 8.9 求二叉树的深度sdut2804 已知前中后中的两个序列建树及应用.
- 数据结构 第12讲 二叉树的层次遍历
- 大话数据结构十三:二叉树的链式存储结构(二叉链表)
- 暑假集训 8.22 数据结构实验:哈希表 sdutoj1480
- 暑假集训第1天链表-数据结构实验之链表五:单链表的拆分
- 暑假集训第1天链表-数据结构实验之链表四:单链表的归并
- 任务调度程序
- LeetCode 26. Remove Duplicates from Sorted Array
- 8080端口被占用问题
- CF827D,巧妙的图(树)论题
- MyBatis入门--第一天
- 暑假集训 二叉树 大话数据结构上讲的
- 安卓利用LoaderManager 检测数据源变化
- Oracle分组函数之ROLLUP魅力
- Centos7搭建FTP服务器步骤
- JAVA内存模型及垃圾回收自我总结
- RocketMQ原理解析-broker 3.load&recover
- (三)DCF机制详解_下篇
- [Leetcode] 291. Word Pattern II 解题报告
- java filter过滤器的配置Demo