资源简介
合肥工业大学数据结构试验五树和森林
包括完整的实验要求、实验预习报告、实验最终报告
实验要求:
将一棵树(或森林)转换为二叉树。
求森林的高度。
按层次方式遍历森林。
输出一个森林中每个结点的值及其对应的层次数。
输出一个森林的广义表形式
代码片段和文件信息
#include
#include
#include
using namespace std;
template
struct treeNode{
Element_type data;
treeNode *nextson *nextbrother;
};
template
class tree{
public:
tree(); //构造函数
tree( const char * file ); //根据输入文件构造森林
~tree(); //析构函数
int height()const ; //返回森林的高度
int height(treeNode * node)const;
void build(const char * filename); //建立森林
void traversal()const; //按层次遍历
void traversal( treeNode * node)const;
void preOrder()const; //先序输出结点值和高度
void preOrder( treeNode * node int i)const;
void clear(); //删除森林
void clear(treeNode * node);
void printGeneralize()const; //输出广义表形式
void printGeneralize(treeNode * node)const;
private:
void creatNode(treeNode * node);
treeNode * root;
ifstream file;
};
template
tree :: tree(){
root=NULL;
}
template
tree :: tree(const char * filename){
root=NULL;
build(filename);
}
template
tree :: ~tree(){
clear();
}
template
void tree ::build(const char * filename){
if (root!=NULL) {
clear();
}
char name[40];
int child;
Element_type data;
file.open(filename);
file>>name>>child;
if (child==0){
file>>data;
root=new treeNode ;
root->data=data;
root->nextson=NULL;
root->nextbrother=NULL;
creatNode(root);
}
else root=NULL;
file.close();
}
template
int tree:: height()const{
return height(root);
}
template
int tree:: height(treeNode * node)const{
if (node==NULL)
return 0;
int ihe1ihe2;
ihe1=height(node->nextson)+1;
ihe2=height(node->nextbrother);
if(ihe1>ihe2)
return ihe1;
else return ihe2;
}
template
void tree:: traversal()const{
traversal(root);
}
template
void tree:: traversal( treeNode * node)const{
list * > li;
treeNode * te *top;
if (root!=NULL){
li.push_back(root);
te=root->nextbrother;
while (te!=NULL){
li.push_back(te);
te=te->nextbrother;
}
}
while (!li.empty()){
top=li.front();
te=top->nextson;
while (te!=NULL){
li.push_back(te);
te=te->nextbrother;
}
cout<data;
li.pop_front();
}
}
template
void tree:: p
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 5508 2009-05-17 23:33 数据结构试验五\Tree.cpp
文件 630342 2009-06-23 11:07 数据结构试验五\Tree.exe
文件 305 2001-04-05 17:56 数据结构试验五\TREE1.TRE
文件 557 2001-04-05 17:56 数据结构试验五\TREE2.TRE
文件 418566 2009-04-26 11:36 数据结构试验五\实验五.pdf
文件 61440 2009-07-29 22:27 数据结构试验五\数据结构实验五最终报告.doc
文件 46080 2009-07-29 22:27 数据结构试验五\数据结构实验五预习报告.doc
目录 0 2009-07-29 22:48 数据结构试验五
----------- --------- ---------- ----- ----
1162798 8
相关资源
- 合肥工业大学数据结构试验六图
- 数据结构课程设计--统计成绩
- 二叉树的构造与遍历
- 数据结构的渡口调度管理
- 数据结构与算法考试复习试题和答案
- 数据结构6种排序方法
- 数据结构课程设计纸牌游戏
- 数据结构 joseph环 含源代码
- 数据结构课设报告之迷宫.docx
- 数据结构课程设计全部系统合集超市
- 中南民大数据结构-八皇后问题含实验
- 2017--山东大学数据结构实验报告,实
- 数据结构-校园导游图
- 数据结构课程设计(排序综合)
- 数据结构课程设计实验报告后缀表达
- 数据结构大作业+设计说明书
- 华东理工大学计算机815数据结构考研
- 数据结构习题集答案--清华大学版
- 数据结构与算法 课后习题答案
- 数据结构实验报告排序算法
- 数据结构上机题目及课程设计题目.
- 数据结构和算法-Flash动画演示
- 数据结构课程设计 迷宫探索 要找出
- 数据结构排序算法演示系统
- 数据结构大作业全国交通模拟查询系
- (C版)郝斌 数据结构课程笔记
- 数据结构年终考题范围和答案+耿国华
- 数据结构课程设计 迷宫问题的求解及
- 二叉树与树、森林的转换数据结构课
- 数据结构实验六二分查找、Hash查找题
评论
共有 条评论