- 1、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
南昌大学实验报告 学生姓名: 唐建雄 学 号: 800606166 专业班级: 计算机软件064班 实验类型:□ 验证 □ 综合 □ 设计 □ 创新 实验日期: 2007.11.10 实验成绩: 一.实验名称 实验五.树形结构二叉树 二.实验目的 1.熟练二叉树的结点结构及其基本操作 2.学会利用递归和非递归二叉树的方法对二叉树进行遍历 三. 实验内容 1.创建二叉树 2.递归遍历二叉树 3.非递归遍历二叉树 四.实验步骤 //A.Header Files Source Files bitree.cpp #includebitree.h int main(int argc, char* argv[]) { int array[] = {5,6,3,7,67,1,24,8,21,16,78,9}; Tree tr(array, sizeof(array)/sizeof(array[0])); tr.traverse(); return 0; } //B. Header Files bitree.h #include iostream #include stack //here delete #includecassert using namespace std; typedef int telemtype; struct bitnode //change to typedef struct bitnode and it will be //typedef : ignored on left of struct bitnode when no variable is declared at last it will be ok { bitnode* lchild; bitnode* rchild; telemtype data; bitnode(int e=0, bitnode* left=NULL, bitnode* right=NULL) { data = e; lchild = left; rchild = right; } }; class Tree { public: Tree() { root = NULL; } Tree(int array[], int size); ~Tree(); void traverse(); void postTraverse(); void recur_postTraverse(bitnode* cur); void preTraverse(); void recur_preTraverse(bitnode* cur); void inTraverse(); void recur_inTraverse(bitnode* cur); private: Tree(const Tree t); Tree operator=(const Tree t); bitnode* createTree(int array[], int size); void destroyTree(bitnode* cur); private: bitnode* root; }; Tree::Tree(int array[], int size) { if ((array==NULL)||(size=0)) root = NULL; else root = createTree(array, size); } //create a tree bitnode* Tree::createTree(int array[], int size) { if ((array==NULL)||(size=0)) return NULL; int mid=size/2; bitnode* cur=new bitnode(array[mid]); cur-lchild = createTree(array, mid); cur-rchild = createTree(array+mid+1, size-mid-1); return cur; } Tree::~Tree() { destroyTree(root); } void Tree::destroyTree(bitnode* cur) { if (cur != NULL) { destroyTree(cur-lchild); destro
文档评论(0)