- 1、本文档共30页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
c 课程设计《链表的实现-增删改查》
河南城建学院
课程设计报告书
专 业:课程设计名称:《数据结构课程设计》
题 目:
学 号:
姓 名:
同 组 人 员:
指 导 老 师:
完 成 时 间:2012年2月17日
摘要目录 1
第一章 开发环境和开发工具 1
1.1 C语言简介 1
1.2 开发背景 1
1.3 开发环境 1
第二章 算法思想 3
2.1 系统需求分析 3
2.2 系统总体设计 3
2.2.1 系统设计目标 3
2.2.2 开发设计思想 3
2.2.3 系统功能模块设计 4
2.3 算法思想描述 6
第三章 算法实现 9
3.1 数据结构 9
3.2 程序模块 9
3.3 各模块之间的调用关系 10
3.4 源程序代码 12
第四章 测试与分析 21
4.1 测试数据选择 21
4.2 测试结果分析 23
总 结 24
心得体会 25
参考文献 26
开发环境和开发工具
C/ C ++语言简介
C语言是一种计算机程序设计语言。它既具有高级语言的特点,又具有汇编语言的特点。C语言已先后被移植到大、中、小及微型机上。它可以作为工作系统设计语言,编写系统应用程序,也可以作为应用程序设计语言,编写不依赖计算机硬件的应用程序。它的应用范围广泛,具备很强的数据处理能力,不仅仅是在软件开发上,而且各类科研都需要用到C语言,适于编写系统软件,三维,二维图形和动画。C语言具有简洁紧凑、灵活方便运算符丰富数据类型丰富语法限制不太严格,程序设计自由度大允许直接访问物理地址,对硬件进行操作生成目标代码质量高,程序执行效率高 适用范围大,可移植性好Win 32 Console Application工程文件,并为该工程文件命名,确定后进入下一步,建立以C/C++为头文件的目标程序,并以.c为文件格式命名。完成后,即可键盘录入源程序。
录入完成后,点击右上方“!”可以进行编译,并对该程序进行上机调试,直至程序能够完整并正确的运行出来。
第二章 算法思想
2.1 系统需求分析
本程序为链表操作系统,是用自定义数据类型(结构体)及指针的应用来实现链表的建立,插入,查找,删除,计数,输出。
程序用结构体来记录数据信息。数据由用户通过键盘输入,然后通过内存的动态应用来建立一个链表。再通过指针的灵活应用来实现各项其他操作。
在建立系统的过程中,细节性的提示一定要全面到位,应为这是内存的动态应用,所以存在很大的变数,一定要让用户能够清楚的知道应该怎么做,并且能对用户的错误输入给出正确的提示,争取做到无论用户如何输入都会又回应,不能出现死机的状况。
2.2 系统总体设计
2.2.1 系统设计目标
本文研究开发数据信息的链式动态存储来满足人们日常生活的需要,有以下三个方面的目标:
●数据信息的多少没有上限。
●支持高效率完成人们日常生活中对信息的操作需求,包括新信息的插入,旧信息的查找和删除。
● 支持动态管理要存储的信息,令人们能及时的对数据信息进行处理,提高生活效率等目标。
2.2.2 开发设计思想
基于以上系统设计目标,本文在开发链表操作系统时遵循了以下开发设计思想:
●采用现有的软硬件环境及先进的链表操作系统开发方案,从而达到充分利用现有资源,提高系统开发水平和应用效果的目的。
●尽量达到操作过程中的直观、方便、实用、安全等要求。
●系统采用模块化程序设计方法,既便于系统功能的各种组合和修改,又便于未参与开发的技术维护人员补充、维护。
2.2.3 系统功能模块设计
本系统分为六个模块:建表模块、插入模块、删除模块、查找模块、计数模块、输出模块。
●1.程序主要功能函数
struct line * made (int *count) 实现链表的建立 时间复杂度为O(n)
struct line * Insert(struct line *head,int *count) 实现对链表进行插入操作
时间复杂度为O(n)
struct line * Delate(struct line *head,int *count) 实现对链表的已有信息的删除操作 时间复杂度为O(n)
void counter(int *count) 实现对链表数据信息个数统计操作
时间复杂度为 O(1)
void Search1(struct line *head,int *count) 实现按序号找结点的操作
时间复杂度为O(n)
void Search2(struct line *head,int *count) 实现按结点找序号的操作
时间复杂度为O(n)
void output(struct line *head,int Count) 实现对信息的
文档评论(0)