ImageVerifierCode 换一换
格式:DOCX , 页数:11 ,大小:119.75KB ,
资源ID:9389882      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/9389882.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(线性表课程设计.docx)为本站会员(b****8)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

线性表课程设计.docx

1、线性表课程设计目 录目 录 I第1章 课题介绍 I1.1 课程设计的目的 I1.2 概要课程设计 I第2章 总体设计 22.1 程序功能模块说明 22.2程序流程图 2第3章 详细设计及程序实现 33.1本程序的主要类模板 33.2 程序中各功能模块的实现 33.2.1构造函数 33.2.2查找函数 33.2.3删除元素 43.2.4插入元素 4第4章 问题与解决方法 64.1 问题 64.2 解决方法 6第5章 程序测试 7第6章 总 结 9参考文献 10答辩记录 11第1章 课题介绍1.1 课程设计的目的1. 了解并掌握中小型综合应用程序的一般设计方法,具备初步的独立分析和设计能力;2.

2、初步掌握软件开发过程的问题分析、系统设计、程序编码、测试等基本方法和技能;3. 提高综合运用所学的理论知识和方法独立分析和解决问题的能力;4. 训练用系统的观点和软件开发一般规范进行软件开发,培养软件工作者所应具备的科学的工作方法和作风;5. 认识容器类数据结构。了解线性数据结构,掌握顺序存储线性表的建立和使用方法。1.2 概要课程设计设计一个简单的类模板,定义一个顺序存储的线性表类SeqList,数据成员包括表的存储数组,表的最大允许长度,计算表的长度,定义常用的基本操作。能对元素进行插入、删除、查找和显示等操作。程序要求:(1) 生成线性表。(2) 做元素的插入、删除操作。(3) 元素的查

3、找。(4) 线性表输出。(5) 二个多项式合并一个多项式。第2章 总体设计2.1 程序功能模块说明1、创建一个类模板SqList,其包含本次课设所需的各个成员函数。2、Find(T a)函数查找元素。3、Insert(T a , int i)用来插入元素。 4、Delete(T a)用来删除元素。5、GetLength()return length;用来返回表长度。 6、GetOneElement(int i) return elementi;用来获取元素。7、ShowTheList()return element;用来显示当前表的元素。2.2程序流程图整个程序的流程如图2-1所示。图2-1

4、程序流程图第3章 详细设计及程序实现3.1本程序的主要类模板templateclass SqListprivate: T* element;/顺序表的存储数组 int length;/计算顺序表的长度(元素个数) int MaxSize;/表的最大允许长度public: SqList(int size = 20);/构造函数声明 SqList()delete element;/析构函数 int GetLength()return length;/返回长度 int Find(T a);/查找元素 bool Insert(T a , int i);/插入元素 bool Delete(T a);/删

5、除元素 T GetOneElement(int i) return elementi;/获取元素 T* ShowTheList()return element;/显示表当前元素;3.2 程序中各功能模块的实现3.2.1构造函数template SqList:SqList(int size)MaxSize = size;length = 10;element = (T*)malloc(sizeof(T)*MaxSize);3.2.2查找函数若找到则返回元素位置,若未找到则返回-1templateint SqList:Find(T a)for (int tmp = 0; tmp length ;

6、tmp+) if (elementtmp = a) return tmp; cout未找到该元素endl;return -1;3.2.3删除元素template/删除元素bool SqList:Delete(T a)int i = Find(a);if(a = -1) return 0;else for (int tmp = i;tmp length ;tmp+) elementtmp = elementtmp + 1; length-;return 1;3.2.4插入元素若插入的元素大于表长则输出插入有误返回0,若表的长度超出表长输出表已满,返回1.templatebool SqList:I

7、nsert(T a , int i) if(i length | i MaxSize) cout插入位置有误,请检查 = i;tmp-) if (tmp = i) elementtmp = a; length+; if (length = MaxSize) cout表已经满了endl; return 1; elementtmp = elementtmp - 1; 第4章 问题与解决方法4.1 问题1、要完成整个程序,需要操作的步骤有些多,程序看起来会很乱。24.2 解决方法1、将所需操作的函数全部封装到SeqList这个类模板中,实现程序的模板化,这样看起来就会很清楚。第5章 程序测试1、添加

8、一个元素:图5-1添加一个元素2、删除一个元素:图5-2删除一个元素3、查找一个元素: 图5-3查找一个元素4、显示表的当前元素: 图5-4显示表的当前元素5合并两个多项式:图5-5显示合并后的多项式第6章 总 结这次的课程设计虽然只有短短的一个星期,但是学到的东西远远不止平时一个星期所学的。主要运用了c+中类模板这块知识内容,还有就是上学期数据结构里面的知识。在编写程序时遇到了很多问题,有些解决了,但有些由于知识水平的局限性没有很好地解决,特别是老师说应该将数据写入文件中,这个功能没有实现,自己也尝试过仿照老师给的例子进行模仿,但是由于结构体和类在引用,定义等方面存在着很大的区别,在编译时总

9、是报错,上网也搜寻了相关资料,也问了同学,但由于时间有限,最后还是没用到文件。通过这次的课程设计,让我更深入的理解类模板是对不同类的公共性质的抽象,使得类中的某些数据成员,某些函数成员中的参数或返回值的类型可以进行灵活的选择。在编写程序时感到平时遍写程序的练习很不足,自己对编写程序不是很熟练,总是会出现各种不同的错误,平时老师给的一些学习资源没用很好的利用,通过这次课设认识到自己很多地方的不足,但又告诉我只要你有耐心和态度,不管问题有多难,最终都会被解决。虽然课设结束了,但对于编程的学习还有很长的路,在今后的学习中,一定会多培养自己的编程能力,多利用老师给我们的资源,努力学好这门课程。参考文献1 严蔚敏、陈文博.数据结构及应用算法教程.北京:清华大学出版社,2013.4.沈学东、C+面向对象程序设计实用教程.上海:上海交通大学出版社,2012答辩记录

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1