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

加入VIP,免费下载
 

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

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

下载须知

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

版权提示 | 免责声明

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

数据结构课程设计报告Word文档格式.docx

1、1.2测试数据 - 1 -2 概要设计 - 2 -2.1 ADT描述 - 2 -2.2程序模块结构 - 2 -2.3各功能模块 - 3 -3详细设计 - 4 -3.1结构体定义 - 4 -3.2 类定义 - 4 -3.4 输入保存操作 - 5 -3.5 插入操作 - 5 -3.6 删除操作 - 7 -3.7 查找操作 - 9 -3.8前序输出操作 - 10 -3.9 后序输出操作 - 10 -3.10 判断是否为空操作 - 11 -3.11 判断是否为满操作 - 11 -3.12 菜单操作 - 12 -3.13 选择操作 - 12 -3.14 主函数操作 - 15 -4 调试分析 - 16 -

2、5用户使用说明 - 17 -6测试结果 - 18 -结 论 - 20 -致 谢 - 21 -参考文献 - 22 -摘 要随着计算机的普及,越来越多的人对C+编程技术有了一定地了解,而要想有更多了解或者精通C+编程,就必须对掌握数据的储存结构。而静态双向链表又是数据储存结构的典型,它是用数组来实现的。具体操作是,在数组中增加两个指针域,分别用来指向前一个或后一个数组元素的下标,以达到静态数据指向。当它创建成功后,可以用来储存已知的数据,进而实现静态访问。关键词:计算机;编程技术;数组;静态双向链表;储存结构。 引 言数据结构是在用计算机处理一些日常问题中发展起来的一门学科,我们主要用它来组织数据

3、和建立适当的数据结构,提高程序的运行的时间效率和空间效率,从而设计出高效实用的程序来解决实际问题。课程设计是为了让学生用所学到的数据结构知识,设计出一种处理实际问题的算法。它的意义在于将理论运用于实际,提高学生的动手能力。本次课程设计题目的任务是使用数组实现静态双向链表对数据的储存,所采用的设计工具为Microsoft Visual Studio 2008。1 需求分析 1.1任务与分析 任务:静态双向链表的实现。任务分析:在数组增加两个指针域,用于存放该元素的上一个和下一个数据元素的下标,从而实现用数组构造出静态双向链表。1.2测试数据 1、输入测试数据:图1-1 输入测试数据图2、插入测试

4、数据:图1-2 插入测试数据图3、查询测试数据:图1-3 查询测试数据图4、删除测试数据:图1-4 删除测试数据图2 概要设计 2.1 ADT描述 ADT DoubleList数据对象:Dlisti|listi属于elemtype, i=1,2,3n, n0数据关系:R | listi, listi+1都属于D,i=1,2,3,n基本操作: 初始化(DoubleList:DoubleList(); 输入保存操作( void DoubleList:SaveDatas();插入操作(void DoubleList:InsertData(); 删除操作( void DoubleList:Delete

5、Data();查找操作(void DoubleList:SearchData();前序输出操作(void DoubleList:FrontPrint();后序输出操作 (void DoubleList:PostPrint(); 判断是否为空操作(bool DoubleList:IsEmpty();判断是否为满操作(bool DoubleList:IsFull();菜单操作(void menu();选择操作(void choose();主函数操作(int main();2.2程序模块结构 2.2.1结构体定义 struct dnode elemtype data; int prior,next;

6、2.2.2程序各模块间的调用结构图图2-1程序各模块间的调用结构图2.3 各功能模块 表2.1 功能模块表功能模块函数原型声明函数功能1、输入保存功能模块void SaveDatas();输入数据并保存2、插入功能模块void InsertData();插入数据3、删除功能模块void DeleteData();删除数据4、查找功能模块void SearchData();查找数据5、前序输出功能模块void FrontPrint();顺序输出数据6、后序输出功能模块void PostPrint();逆序输出数据7、判断是否为空模块bool IsEmpty();判断是否为空8、判断是否为满模块b

7、ool IsFull();判断是否为满9、菜单模块void menu()提供选择菜单10、选择模块void choose()提供选择功能3详细设计3.1结构体定义;3.2 类定义 class DoubleListprivate: dnode listmax; int length;public: DoubleList(); DoubleList(); void SaveDatas(); void InsertData(); void DeleteData(); void SearchData(); void FrontPrint(); void PostPrint(); bool IsEmpt

8、y(); bool IsFull();3.3 初始化 DoubleList:DoubleList() for(int i=0;imax;i+) listi.data=0; length=0;3.4 输入保存操作 void DoubleList:SaveDatas() int t; coutt; if(t=0) break; listi.data=t; listi.prior=i-1; listi.next=i+1; length+; if(length=max) coutdata=a; t=-1; if(length!=0) while(tlength|t0)请输入要插入的位置(1到lengt

9、h for(int i=length;i=t;i-) listi.data=listi-1.data; if(i=length) listi.next=i+1; listi.prior=i-1; listt-1.data=p-data;插入成功| else list0.data=p- list0.next=1; list0.prior=-1; length+;插入成功3.6 删除操作DeleteData() dnode p; int s; s=length; while(!IsEmpty() cout if(t=0) break; p=list0; while(p.next!=length+1

10、) if(p.data=t) for(int i=p.prior+1;length; listi.data=listi+1.data; if(length=i+1) listi.next=-100; listi.prior=-100; length-; cout删除成功 p=listp.prior+1; if(p.next!=length) break; else =length) p=listp.next; else p.next+; if(length=s)没有找到要删除的数据3.7 查找操作 SearchData() int i,t; i=0;输入要查询的数据,输入0时结束 i+;数据t在p.next位置 if(p.next! p=listp.next; p.next+; if(i=0)没有找

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

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