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

加入VIP,免费下载
 

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

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

下载须知

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

版权提示 | 免责声明

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

数据结构课程设计报告范文Word文件下载.docx

1、5. 独立完成;6 每个人需按照选题规则确定好自己的题目(注意不是多人完成一题,每人独立完成一题),不得以任何理由选择其它的题目,当然在完成自己的题目之后根据个人兴趣能够继续选做其它的题目;7课程设计完成后严格按照报告格式撰写课程设计报告,并于结束后的第三天上交到学习委员统一交给老师;8课程设计的成绩由两部分组成:程序检查成绩(40,每个功能占程序分的20%)报告检查成绩(40)平时考核(20%)五、实现思路链表是一种动态数据结构,她的特点是用一组任意的存储单元(能够是连续的,也能够是不连续的)存放数据元素。链表中每一个元素成为“结点”,每一个结点都是由数据域和指针域组成的,每个结点中的指针域

2、指向下一个结点。Head是“头指针”,表示链表的开始,用来指向第一个结点,而最后一个指针的指针域为NULL(空地址),表示链表的结束。能够看出链表结构必须利用指针才能实现,即一个结点中必须包含一个指针变量,用来存放下一个结点的地址。实际上,链表中的每个结点能够用若干个数据和若干个指针。结点中只有一个指针的链表称为单链表,这是最简单的链表结构。再c+中实现一个单链表结构比较简单。例如,可定义单链表结构的最简单形式如下 class linkpublic: elemtype data; link *next;这里用到了结构体类型。其中,*next是指针域,用来指向该结点的下一个结点;Data是一个整

3、形变量,用来存放结点中的数据。当然,Data能够是任何数据类型,包括结构体类型或类类型。在此基础上,我们在定义一个链表类list,其中包含链表结点的插入,删除,输出等功能的成员函数。void print(link*head) ;/链表结点的输出link*Locate(link*head,elemtype x);/链表的的查询void insert(link*head,elemtype x,elemtype y);/链表结点的插入void deletel(link*head,elemtype x);/链表结点的删除void change(link*p,elemtype x,elemtype y)

4、;/链表的修改由于链表中的各个结点是由指针链接在一起的,其存储单元文笔是连续的,因此,对其中任意结点的地址无法向数组一样,用一个简单的公式计算出来,进行随机访问。只能从链表的头指针(即head)开始,用一个指针p先指向第一个结点,然后根据结点p找到下一个结点。以此类推,直至找到所要访问的结点或到最后一个结点(指针为空)为止。流程图:Public: N Yq!=NULLq-data=xdata=yq=q-nextlink*q 主函数流程图 3 4 5 6 7N .六、实现过程#includewindows.hstdlib.h#define elemtype intclass linkclass

5、linklistprotected: link*head; link*rcreat() link*s,*p,*r; elemtype i; couti; p=r=new link; p-next=NULL; while(i) s=new link; s-data=i; r-next=s; r=s; cin r- return p; void print(link*head) link*p; p=head-next; while(p-next!=NULL)p-data p=p- coutdata;endl; link*Locate(link*head,int x) p=head; int j=0

6、; while(p!=NULL)&(jj+; void deletel(link*head,elemtype x) link*p,*q; q=head;(p-data!=x) q=p; if(p=NULL)coutnext=p- delete(p); void insert(link*head,int x,elemtype y) link*p,*s; s=new link; s-data=y; if(head-next=NULL) head- s- p=Locate(head,x); if(p=NULL)插入位置非法void change(link*p,elemtype x,elemtype

7、y) link*q; q=p- while(q! if(q-data=x)q- q=q-int count(link*h)int n=0; p=h- while(p! n+;p=p- return n;void main() int n,act; char m; elemtype x,y; linklist a; p=a.rcreat(); a.print(p);loop1:coutm; if(m=e) /根据提示选择操作 act=1;f) act=2;g act=3;h act=4;i act=5;q act=6;c act=7; switch(act) case 1:请输入要查找的元素值x

8、; q=a.Locate(p,x); if(q=NULL)coutx不在表中。找不到! else cout a.change(p,x,y); case 5:n=a.count(p);链表中结点个数为:n case 6:system(CLS); /清屏goto loop2; case 7:loop2:七、实验总结(分析程序的得与失)1、经过运行本程序能够进行链表的创立、插入、删除、修改、统计等功能,已具备链表试验的功能,基本达到了题目的要求。2、在编写程序的过程中,对字符的判断做标记,用switch语句选择运用,使结构更加清晰,能够用goto语句进行循环。使程序的可执行性更强。3、本程序还是有一

9、定缺陷,比如运行界面不够美观、但基本达到了人机交互的功能达到要求4、对本程序自我感觉人机交互做的比较好,能够做到根据选择进行操作,主要依靠循环进行实现,同时我也加入了清屏功能,使操作更加人性化。5、本程序的但还是比较单一,功能不是很完善,能够对界面进行设计,是其更加美观。八、心得体会课程设计是培养学生综合运用所学知识,发现,提出,分析和解决实际问题,锻炼实践能力的重要环节,是对学生实际工作能力的具体训练和考察过程。经过本次为期一周的课程设计课,我有很多感触,从我拿到题目开始到完全做出程序,我经历了一个波折的一周,可是这周我受益匪浅,明白把理论用到实践中的不容易。这是第二次做C的课程设计,比第一次稍微好一点,遇到问题都自己花时间去查找资料,知道从什么地方入手,但在实验中发现自己有很多的不足,对课本理解的不够深刻,对一些课外的知识要多接触,与拓展。虽然有太多的困难,可是在艾老师的指导下课程设计还是顺利的完成了。在整个课程设计的过程中老师非常耐心的给我们辅导,扮演着很重要的角色,特别是教我一些课外的知识。在此非常感谢我的指导老师。

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

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