计算机软件技术基础报告.doc

  1. 1、本文档共17页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
计算机软件技术基础报告

实验四___线性表_____ 实验目的:实验内容测试结果:算法或核心技术: 四、附件(源代码)#includeiostream #includestring #includebitree.h using namespace std; /* *前置条件:二叉树不存在 *输 入:无 *功 能:构造一棵二叉树 *输 出:无 *后置条件:产生一棵二叉树 */ templateclass T BiTreeT::BiTree( ) { this-root = Creat( ); } /* *前置条件:二叉树已存在 *输 入:无 *功 能:释放二叉链表中各结点的存储空间 *输 出:无 *后置条件:二叉树不存在 */ templateclass T BiTreeT::~BiTree(void) { Release(root); } /* *前置条件:二叉树已存在 *输 入:无 *功 能:获取指向二叉树根结点的指针 *输 出:指向二叉树根结点的指针 *后置条件:二叉树不变 */ templateclass T BiNodeT* BiTreeT::Getroot( ) { return root; } /* *前置条件:二叉树已存在 *输 入:无 *功 能:前序遍历二叉树 *输 出:二叉树中结点的一个线性排列 *后置条件:二叉树不变 */ templateclass T void BiTreeT::PreOrder(BiNodeT *root) { if(root==NULL) return; else{ coutroot-data ; PreOrder(root-lchild); PreOrder(root-rchild); } } /* *前置条件:二叉树已存在 *输 入:无 *功 能:中序遍历二叉树 *输 出:二叉树中结点的一个线性排列 *后置条件:二叉树不变 */ template class T void BiTreeT::InOrder (BiNodeT *root) { if (root==NULL) return; //递归调用的结束条件 else{ InOrder(root-lchild); //中序递归遍历root的左子树 coutroot-data ; //访问根结点的数据域 InOrder(root-rchild); //中序递归遍历root的右子树 } } /* *前置条件:二叉树已存在 *输 入:无 *功 能:后序遍历二叉树 *输 出:二叉树中结点的一个线性排列 *后置条件:二叉树不变 */ template class T void BiTreeT::PostOrder(BiNodeT *root) { if (root==NULL) return; //递归调用的结束条件 else{ PostOrder(root-lchild); //后序递归遍历root的左子树 PostOrder(root-rchild); //后序递归遍历root的右子树 coutroot-data ; //访问根结点的数据域 } } /* *前置条件:二叉树已存在 *输 入:无 *功 能:层序遍历二叉树 *输 出:二叉树中结点的一个线性排列 *后置条件:二叉树不变 */ template class T void BiTreeT::LeverOrder(BiNodeT *root) { const int MaxSize = 100; int front = 0; int rear = 0; //采用顺序队列,并假定不会发生上溢 BiNodeT* Q[MaxSize]; BiNodeT* q; if (root==NULL) return; else{ Q[rear++] = root; while (front != rear) { q = Q[front++]; coutq-data ; if (q-lchild != NULL) Q[rear++] = q-lchild; if (q-rchild != NULL) Q[rear++] = q-rchild;

文档评论(0)

qwd513620855 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档