实验六:实现二叉树链式存储结构
来源:互联网 发布:宁夏干部网络培训平台 编辑:程序博客网 时间:2024/05/22 17:32
一、实验目的
熟练理解树和二叉树的相关概念,掌握的存储结构和相关操作实现;
掌握树的链式存储结构的实现;
二、实验过程
#ifndef BiTree_H#define BiTree_Hstruct BiNode{char data;BiNode *lchild, *rchild;};class BiTree{public:BiTree(){root=Creat(root);}~BiTree(){Release(root);}void PreOrder(){PreOrder(root);}void InOrder(){InOrder(root);}void PostOrder(){PostOrder(root);}private:BiNode *root;BiNode *Creat(BiNode *bt);void Release(BiNode *bt);void PreOrder(BiNode *bt);void InOrder(BiNode *bt);void PostOrder(BiNode *bt);};#endif#includeusing namespace std;#include"Bitree.h"BiNode*BiTree::Creat(BiNode *bt){char ch;cout<<"请输入创建一棵二叉树的结点数据"<>ch;if(ch=='#')return NULL;else{bt=new BiNode;bt->data=ch;bt->lchild=Creat(bt->lchild);bt->rchild=Creat(bt->rchild);}return bt;}void BiTree::Release(BiNode *bt){if(bt!=NULL){Release(bt->lchild);Release(bt->rchild);delete bt;}}void BiTree::PreOrder(BiNode *bt){if(bt==NULL)return;else{cout<data<<"";PreOrder(bt->lchild);PreOrder(bt->rchild);}}void BiTree::InOrder(BiNode *bt){if(bt==NULL)return;else{InOrder(bt->lchild);cout<data<<"";InOrder(bt->rchild);}}void BiTree::PostOrder(BiNode *bt){if(bt==NULL)return;else{PostOrder(bt->lchild);PostOrder(bt->rchild);cout<data<<"";}}#includeusing namespace std;#include"Bitree.h"int main(){BiTree T;cout<<"------前序遍历------"<
#ifndef BiTree_H#define BiTree_Hstruct BiNode{char data;BiNode *lchild, *rchild;};class BiTree{public:BiTree(){root=Creat(root);}~BiTree(){Release(root);}void PreOrder(){PreOrder(root);}void InOrder(){InOrder(root);}void PostOrder(){PostOrder(root);}private:BiNode *root;BiNode *Creat(BiNode *bt);void Release(BiNode *bt);void PreOrder(BiNode *bt);void InOrder(BiNode *bt);void PostOrder(BiNode *bt);};#endif#includeusing namespace std;#include"Bitree.h"BiNode*BiTree::Creat(BiNode *bt){char ch;cout<<"请输入创建一棵二叉树的结点数据"< >ch;if(ch=='#')return NULL;else{bt=new BiNode;bt->data=ch;bt->lchild=Creat(bt->lchild);bt->rchild=Creat(bt->rchild);}return bt;}void BiTree::Release(BiNode *bt){if(bt!=NULL){Release(bt->lchild);Release(bt->rchild);delete bt;}}void BiTree::PreOrder(BiNode *bt){if(bt==NULL)return;else{cout< data<<"";PreOrder(bt->lchild);PreOrder(bt->rchild);}}void BiTree::InOrder(BiNode *bt){if(bt==NULL)return;else{InOrder(bt->lchild);cout< data<<"";InOrder(bt->rchild);}}void BiTree::PostOrder(BiNode *bt){if(bt==NULL)return;else{PostOrder(bt->lchild);PostOrder(bt->rchild);cout< data<<"";}}#include using namespace std;#include"Bitree.h"int main(){BiTree T;cout<<"------前序遍历------"<
三、实验心得
学习了二叉树,是很有意思的一种数据结构。虽然理论知识略懂,但实际操作的时候还是感觉很欠缺,输出双亲、孩子结点部分未能实现,正在努力学习中。阅读全文
0 0
- 实验六:实现二叉树链式存储结构
- 二叉树的链式存储结构 C++代码实现
- 链式结构实现二叉树
- 二叉树链式结构实现
- 5.2 二叉树的链式存储实验
- [数据结构][二叉链表]二叉树链式存储结构的二叉链表实现
- 二叉树的链式存储结构
- 二叉树的链式存储结构
- 二叉树的链式存储结构
- 二叉树的顺序存储和链式存储结构(java实现)
- 二叉树的链式存储结构-二叉链表
- 二叉树的链式存储结构----二叉链表
- 二叉搜索树-链式结构实现方式
- 用链式结构实现二叉搜索树
- 【数据结构】二叉树链式结构实现_BiTreeLink
- 链式结构实现二叉查找树(二叉排序树)
- 二叉树链式结构C代码实现
- 二叉树的链式结构实现
- IP及端口号的获取及保存【实用】
- Ef中去重
- java集合框架-ArrayList
- 配置win32控制台输出文本属性
- JPush Android 推送如何区分开发、生产环境
- 实验六:实现二叉树链式存储结构
- Android应用程序启动过程上
- 最新鲜最详细的Android SDK下载安装及配置教程
- validation验证不使用submit的情况
- git如何更换远程地址
- CentOS7源码安装MP3编码库libmp3lame
- JavaScript获取光标的位置
- Android studio 新建工程activity默认继承AppCompatActivity
- CentOS系统SSH免密后依然需要输入密码(已解决)