基于模板技术的多层次可视化数据结构实验环境研究.docVIP

  • 1
  • 0
  • 约9.39万字
  • 约 115页
  • 2018-08-04 发布于湖北
  • 举报

基于模板技术的多层次可视化数据结构实验环境研究.doc

基于模板技术的多层次可视化数据结构实验环境研究

基于模板技术的多层次可视化数据结构实验环境研究 可视化数据结构实验环境VCDS v1.0 编程实验(C++版) (编号) 参 考 手 册 合肥工业大学 《数据结构》课程组 2005年7月15日 DSSTL类库 1.1 DSSTL类库概述 数据结构基础类模板库。这是实验环境所用到的最重要也是最基础的类库,其中类名全部以大写字母D开始,在本文中将此类库简称为D类库。D类库全部以标准C++语言编写,适合于所有标准C++编译器且不依赖第三方类库。它定义了每种数据结构的最基本的物理实现部分,提供了数据结构最基本的逻辑操作,如堆栈的入栈和出栈,并采用了C++输入输出流机制对数据结构进行存储。 在数据层的设计中体现了C++的虚继承与继承的特点,采用模板技术实现多种数据类型的代码封装,大大减少了代码的冗余,整个数据层的设计学习VC中的MFC类库的特点达到了结构明确,层次清晰,类与类之间的关系紧密。由于整个软件中的数据结构较多有八大模块,为了很好的实现类的层次架构,设计过程中设置了数据层基类DObject,然后依据具体模块设置相应的类层次,其结构框架见附录一。 1.2 DObject DOject是数据结构标准摸班类库DSSTL中所有类的基类,定义了许多公用的虚函数。这些虚函数有相当一部分是纯虚函数,因此无法直接使用DOject来声明对象。常用的方法是使用DOject指针。 1.2.1 类层次关系 正像前面介绍的那样,DObject是整个数据层的基类,包含着各个模块的公共操作接口,是一个虚类。 1.2.2 类成员 virtual void Output(ostream out) const; ——流输出函数,保存类中数据 virtual void Input(istream in); ——流输入函数,读取数据 virtual void Save(char* fname) const; ——将数据保存到文件中 virtual void Load(char* fname); ——从文件中取出数据 1.3线性表 1.3.1 DList DList是线性表逻辑类。它是具体存储类型线性表的基类,同样它内部封装着底层具体的线性表的公共操作接口。 类层次关系 DObject ∟DList 相关类:DObject 头文件:DList.h 成员说明 SetNull 原型:void SetNull() 用法:清除线性表内容,无返回值。 参数:无 示例: #include “DList.h” void main() { Dlistint list ; list.SetNull(); } 输出:无 RemoveAll 原型:virtual void RemoveAll () 用法:将线性表中的数据全部移除,无返回值 参数:无 示例: #include “DList.h” void main() { Dlistint list ; list.RemoveAll(); } 输出:无 IsEmpty 原型:virtual bool IsEmpty ()const 用法:判断线性表是否为空,返回类型为布尔型 参数:无 示例: #include “DList.h” void main() { Dlistint list ; list. IsEmpty (); } 输出:ture或着false Length 原型:virtual int Length ()const 用法:判断线性表的长度,返回值为整型 参数:无 示例: #include “DList.h” void main() { Dlistint list ; list. Length (); } 输出:整型数值 Search 原型:virtual int Search (const Tx)const 用法:在线性表中查找元素x,返回值为整型 参数:模板类型参数 示例: #include “DList.h” void main() { Dlistint list ; list. Search (23); } 输出:在线性表中查到数据23所在的位置,查不到时返回-1。 Insert 原型:virtual void Insert( int k, const Tx) 用法:在线性表中第k个位置插入元素x,无返回值 参数:模板类型参数 示例: #include “DList.h” void main() { Dlistint list ; list. Insert(2,56); } 输出:无 Delete 原型:virtual void Delete (int k, Tx) 用法:删除线性表中的第k个元素,将删除的元素放到变量x中,返回值无 参数:模板类型参

文档评论(0)

1亿VIP精品文档

相关文档