二叉树实现实验
来源:互联网 发布:contabs.js插件 编辑:程序博客网 时间:2024/05/18 03:26
//Bitree.h#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//Bitree.cpp#include<iostream>using namespace std;#include "Bitree.h"BiNode* BiTree::Creat(BiNode* bt){ // 递归 建树char ch;cout << "请输入创建一棵二叉树的节点数据" << endl;cin >> 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 << bt->data << " ";PreOrder(bt->lchild);PreOrder(bt->rchild);}}void BiTree::InOrder(BiNode* bt){ //先访问左子节点然后访问根结点 最后访问右子节点 递归形式if(bt == NULL) return ;else {InOrder(bt->lchild);cout << bt->data << " ";InOrder(bt->rchild);}}void BiTree::PostOrder(BiNode* bt) { // 先访问左右儿子节点 最后访问根节点 递归形式 if(bt == NULL) return ;else {PostOrder(bt->lchild);PostOrder(bt->rchild);cout << bt->data << " ";}}//Bitree_main.cpp#include<iostream>using namespace std;#include "Bitree.h"int main() {BiTree T;cout << "---前序遍历---" << endl;T.PreOrder();cout << endl;cout << "---中序遍历---" << endl;T.InOrder();cout << endl;cout << "---后序遍历---" << endl;T.PostOrder();cout << endl;return 0;}
0 0
- 二叉树实现实验
- 实验五 二叉树的实现
- 二叉树C++实现数据结构实验
- 二叉树实验
- 二叉树实验代码
- 二叉树实验
- 二叉树实验报告
- 二叉树实验
- 实验五 二叉树
- 二叉树实验
- 二叉树实验5
- 实验报告 二叉树
- 实验7-二叉树
- 二叉树实验
- 二叉树实验报告
- 实验三 二叉树
- 实验四 二叉树基本操作的实现
- 实验六:实现二叉树链式存储结构
- log4j、 slf4j 、logback
- Oracle 简单查询某字段中存在中文记录
- hibernate eventes not mapped[HQL] exception
- MongoDB学习笔记(robomongo 数据查询)
- linux内核SPI总线驱动分析(一)
- 二叉树实现实验
- 平台服务端日志查看说明
- MongoDB学习笔记(robomongo 数据查询)
- Leetcode176: Maximal Square
- 工作经验总结
- Dlib机器学习库学习系列三----人脸对齐(特征点检测)
- 安卓ROOT权限代码
- C++——构造函数
- 获得100000+点击的程序员高薪职业建议!