《数据结构》实验五: 树和二叉树实验
发布时间:2020-12-15 05:51:05 所属栏目:安全 来源:网络整理
导读:《数据结构》实验五: ? 树和二叉树实验 一..实验目的 ???? 巩固树和二叉树的相关知识,特别是二叉树的相关内容。学会运用灵活应用。 1.回树和二叉树的逻辑结构和存储方法,清楚掌握树和二叉树的遍历操作。 2.学习树的相关知识来解决实际问题。 3.进一步巩
《数据结构》实验五: ? 树和二叉树实验 一..实验目的 ???? 巩固树和二叉树的相关知识,特别是二叉树的相关内容。学会运用灵活应用。 1.回树和二叉树的逻辑结构和存储方法,清楚掌握树和二叉树的遍历操作。 2.学习树的相关知识来解决实际问题。 3.进一步巩固程序调试方法。 4.进一步巩固模板程序设计。 二.实验时间 ?? 准备时间为第10周到第12前半周,具体集中实验时间为12周周四。2个学时。 三..实验内容 1.自己设计一个二叉树,深度最少为4,请递归算法分别用前序、中序、后序遍历输出树结点。 Bitree.h
#ifndef Bitree_H #define Bitree_H struct 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<iosream> 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; } 本人能力有限不会调试 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |