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

成 绩 评阅人 重庆邮电大学 课程设计实验报告 班级:1301405 姓名:陈毫 学号:2014213922 指导老师: 常光辉 课程名称:面向对象程序设计 实验时间:2015年10月20 实验地点:软件实验室一楼B132 一 实验名称 顺序表的存储与操作 二 实验目的 1.理解线性表的逻辑结构; 2.理解顺序表的存储结构特点,掌握顺序表的存储分配要点; 掌握顺序表的基本操作及实现,并能正确分析其时间复杂度 三 实验内容 定义顺序表的存储结构; 顺序表的基本操作 (1)初始化顺序表(无参和有参); (2)求顺序表长度; (3)按位置查找; (4)按值查找; (5)在位置 i 插入一个数据元素; (6)删除位置 i 的数据元素; (7)遍历顺序表; (8)销毁顺序表。 四、参考代码1. 顺序表的存储结构和操作接口 SeqList.h 声明类 SeqList,文件名为 SeqList.h #ifndef SeqList_H #define SeqList_H const int MaxSize=100; //100 只是示例性的数据,可以根据实际问题具体定义 template class T //定义模板类 SeqList class SeqList { public: SeqList( ); //无参构造函数 SeqList(T a[], int n); //有参构造函数 ~SeqList(); //析构函数为空 int Length(); //求线性表的长度 T Get(int i); //按位查找,取线性表的第 i 个元素 int Locate(T x); //按值查找,求线性表中值为 x 的元素序号 void Insert(int i, T x); //在线性表中第 i 个位置插入值为 x 的元素 T Delete(int i); //删除线性表的第 i 个元素 void PrintList(); //遍历线性表,按序号依次输出各元素 private: T data[MaxSize]; //存放数据元素的数组 int length; //线性表的长度 }; #endif 顺序表操作的实现 //SeqList.cpp #include SeqList.h /* *前置条件:顺序表不存在 *输 入:无 *功 能:构建一个顺序表 *输 出:无 *后置条件:构建一个顺序表 */ template class T SeqListT:: SeqList( ) { length=0; } /* *前置条件:顺序表不存在 *输 入:顺序表信息的数组形式 a[],顺序表长度 n *功 能:将数组 a[]中元素建为长度为 n 的顺序表 *输 出:无 *后置条件:构建一个顺序表 */ template class T SeqListT:: SeqList(T a[], int n) { if (nMaxSize) throw 参数非法; for (int i=0; in; i++) data[i]=a[i]; length=n; } /* *前置条件:无 *输 入:无 *功 能:无 *输 出:无 *后置条件:无 */ template class T SeqListT:: ~SeqList( ) { } /* *前置条件:顺序表存在 *输 入:插入元素 x,插入位置 i *功 能:将元素 x 插入到顺序表中位置 i 处 *输 出:无 *后置条件:顺序表插入新元素 */ template class T void SeqListT::Insert(int i, T x) { int j; if (length=MaxSize) throw 上溢; if (i1 || ilength+1) throw 位置; for (j=length; j=i; j--) data[j]=data[j-1]; //注意第 j 个元素存在数组下标为 j-1 处 data[i-1]=x; length++; } /* *前置条件:顺序表存在 *输 入:要删除元素位置 i *功 能:删除顺序表中位置为 i 的元素 *输 出:无 *后置条件:顺序表删除元素 */ template class T T SeqListT::Delete(i

您可能关注的文档

文档评论(0)

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

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

1亿VIP精品文档

相关文档