数据结构课程设计报告--猴子选大王

数据结构课程设计报告--猴子选大王

ID:26223793

大小:599.50 KB

页数:20页

时间:2018-11-25

数据结构课程设计报告--猴子选大王_第1页
数据结构课程设计报告--猴子选大王_第2页
数据结构课程设计报告--猴子选大王_第3页
数据结构课程设计报告--猴子选大王_第4页
数据结构课程设计报告--猴子选大王_第5页
资源描述:

《数据结构课程设计报告--猴子选大王》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库

1、数据结构课程设计报告题目:猴子选大王——采用循环链表及动态存储的实现班级:计算机082班姓名:指导教师:成绩:信息工程学院2010年01月20日-20-目录课程设计摘要(题目)………………………………………………031.引言………………………………………………………………032.需求分析…………………………………………………………042.1问题分析…………………………………………………042.2总体设计…………………………………………………053.概要设计…………………………………………………………073.

2、1模块分析……………………………………………………073.1.1链表循环输入删除输出…………………………………073.1.2各个函数之间的调用关系……………………………093.2函数的流程分析……………………………………………104.详细设计…………………………………………………………124.1函数设计……………………………………………………124.2程序源代码…………………………………………………135.测试结果…………………………………………………………166.设计体会……………………………………………

3、……………187.结束语…………………………………………………………19参考文献…………………………………………………………20-20-摘要(题目):猴子选大王任务:一堆猴子都有编号,编号是1,2,3...m,这群猴子(m个)按照1-m的顺序围坐一圈,从第1开始数,每数到第N个,该猴子就要离开此圈,这样依次下来,直到圈中只剩下最后一只猴子,则该猴子为大王。要求:输入数据:输入m,n;m,n为整数(n

4、随着计算机科学的迅速发展,计算机已深入到揉合社会的各个领域,它的应用已不再局限于科学计算,以解决一些数学问题,而且可以解决一些抽象化的具体问题,更多地用于控制,管理及数据处理等非数值计算的处理工作,这便为我们的日常生活提供了很多的方便,譬如说火车、飞机售票系统,学生成绩管理,商品管理系统,医院选址等实际问题。如今程序设计的语言很多,有发展比较完善高级语言,也有最基本的低级语言,然而再好的程序设计也要有一个比较清晰的思路——-20-算法。为了编写好一个好程序,必须分析待处理对象的特性以及各处理对象之间的关系,

5、于是数据结构便成为我们绝佳的选择。数据结构是计算机程序设计的重要理论技术基础,它不仅是计算机科学的核心课程,而且已成为其他理工专业的热门选修课。数据结构是计算机程序设计的重要理论基础,它不仅是计算机学科一门专业技术基础课,它对学习者的的要求很明确:学会分析、研究计算机加工的数据结构的特性,以便为应用设计所需的数据选择适当的逻辑结构、存储结构及其相应的算法,并初步掌握算法的时间分析和空间分析的技术。其次,该课程的学习过程也是复杂程序设计的训练过程,要求学习者编写的程序结构或设计的程序结构体清楚、正确、易读,符

6、合软件工程的规范。循环链表是一种重要的链式结构,其特殊性在于需附设两个指针分别指示表头元素及表尾元素的位置且表头和表尾相邻接,臆造的环状空间巧妙的解决了需循环依次删除元素的约瑟夫问题。本设计采用目前最通用的程序设计语言之一——C语言作为数据结构和算法的描述语言,单循环链表作为数据存储结构。充分考虑了循环链表的特点仅通过对两个循环链表的出、入列操作,就简单的实现了要求,动态的模拟出了猴子选大王问题中猴子循环报数的情况。该程序通俗易懂且实用性强,其他类似的算法均可借鉴和参考使用。并且该程序清单详细具体、全面、具

7、有很强的可读性。2.需求分析2.1问题分析根据问题描述得知,该问题中m个猴子围坐在一起形成首尾相接的环,因此可用循环链表解决。从第n个猴子开始出列相当于从链表中删除一个结点。该程序主要有三个模块组成,建立循环-20-链表,报数利用循环链表实现猴子的出列,最终剩下的猴子即猴王。具体步骤如下:  第一步  首先创建循环链表。第二步向链表中填入猴子的编号  第二步  找第一个开始报数的猴子。  第三步  数到n让这个猴子出列第四步  接着开始报数,重复第三步,直到剩下最后一个猴子,它就为大王!!!2.2总体设计采

8、用两个循环队列反复出队列与入队列来进行“舞伴配对”。程序中主要用到以下抽象数据类型:1)设定链表抽象数据类型的定义ADTstruct{对象数据=(整数)操作对象:structmonkey*create()建立循环链表structmonkey*findout(start,n)-20-找出被淘汰的猴子的上一个Structmonkey*letout(last)删掉被淘汰的猴子,返回的指针值指向下一个猴子}。基本操作(1

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。