资源简介
合肥工业大学数据结构试验五树和森林
包括完整的实验要求、实验预习报告、实验最终报告
实验要求:
将一棵树(或森林)转换为二叉树。
求森林的高度。
按层次方式遍历森林。
输出一个森林中每个结点的值及其对应的层次数。
输出一个森林的广义表形式

代码片段和文件信息
#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 1 彩票系统
- 教学计划编制系统
- 大数(链表、数组)实现
- 自己写的航空订票系统c 版--数据结构
- 数据结构实验魔王语言
- 航空订票系统_数据结构课程设计
- 多项式求和(数据结构C 版)
- 尚观培训linux董亮老师关于数据结构的
- 数据结构 知识点总结
- 华南理工大学数据结构复习提纲二
- 华南理工大学数据结构复习提纲一
- 数据结构用C 写的停车场系统源代码
- 数据结构(河北科技大学)
- 数据结构考前习题 清华大学出版社
- 数据结构课件(北邮)
- 数据结构实验 基于栈的表达式求值
- 数据结构课程设计——图书管理系统
- 成绩管理系统(数据结构)
- 数据结构-最小通信网问题
- 数据结构课程设计同学通讯录系统
- 数据结构课程设计 公园导游图
- 数据结构殷人昆版的课后答案
- 2006年湖北工业大学409数据结构试题
- 数据结构实验-魔王语言-源码加实验报
- 简单计算器的实现(数据结构)
- 简单计算器的实现(数据结构 修正版
- Fundamentals of Data Structure in C
- 北京邮电大学数据结构历年考研真题
评论
共有 条评论