1 / 7
文档名称:

数据结构实习报告(实习九).doc

格式:doc   大小:99KB   页数:7页
下载后只包含 1 个 DOC 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

数据结构实习报告(实习九).doc

上传人:wangzhidaol 2017/2/16 文件大小:99 KB

下载得到文件列表

数据结构实习报告(实习九).doc

相关文档

文档介绍

文档介绍:数据结构实****报告题目:假设叶子时排好序的,请编写一段完整的程序插入一个新的顶点到一棵 2-3 树中班级: F0203305 姓名:聂青阳学号: 5020339113 完成日期: 2017 年2月 16日一、需求分析 1. 演示以 2-3 树为数据结构存储的集合的插入运算。 2. 为简便起见,演示用的集合中元素类型为正整数。 3. 演示用程序采用键盘输入待插入元素的方式。 4. 本程序特色之一为漂亮的树型输出。 5. 当输入元素在集合中已存在时,将收到 false 返回值,并打印错误! 二、概要设计本实****报告的概要设计部分将不采用抽象数据类型的描述方式, 而是根据实际, 采用面向对象的 UML 语言描述,并且考虑到泛型使用,所有的类均采用模板。以 UML 语言描述的概要设计图: 由于篇幅限制,这里没有给出具体方法和字段的注释,在附件中的 (UML 格式文件,请使用 Rational Rose 打开) 和源代码中都有详细的描述。三、详细设计 1. Tree23 类 template < class TYPE > class Tree23 { protected : Tree23Node < TYPE >* root ; //2-3 树的根结点 public : //构造函数 Tree23 ( Tree23Node < TYPE >* _root = NULL ){ root = _root ;} //析构函数 void Destroy ( void ){ cout << "Destructing Tree23" << endl ; root -> DelTree (); cout << "Destructing plete" << endl ; } //插入结点 bool Insert ( TYPE * data ){ if( Search ( data ) != NULL ) return false ; Tree23Node < TYPE >* node = new Tree23Node < TYPE >( data ); Tree23Node < TYPE >* temp ; if( root == NULL ) root = node ; else { temp = root -> InsertNode ( node ); if( temp != NULL ) root = temp ; } return true ;} //打印所有结点 void ShowAll (){ root -> ShowTree (); } //搜索指定结点 Tree23Node < TYPE >* Search ( TYPE *d){ if( root == NULL ) return NULL ; return root -> Search (d ); } //检验当前结点是否存在 bool IsExisting ( Tree23Node < TYPE >* node ){ if( root == NULL ) return false ; if( root -> Search ( node ) != NULL ) return true ; else return false ; } //树型打印本树 virtual void formatPr