数据结构课程设计:敢死队问题(终极版)
******************* 实践教学
******************* 计算机与通信学院 2011年春季学期
算法与数据结构 课程设计 题 目: 敢死队问题 专业班级: 软件一班 姓 名: 唐振乙 学 号: 09240302 指导教师: 张 永 成 绩:_______________ 目 录 摘
要................................................................................................................2
前
言................................................................................................................3
正
文................................................................................................................4
一、需求分
析......................................................................................................4
1.数据需求分
析....................................................................................................4
2.功能需求分
析....................................................................................................4
二、程序总体设
计.............................................................................................5
1.模块划
分..............................................................................................................5
2.总体流程
图..........................................................................................................5
3.函数调用关系
图..................................................................................................6
4.部分伪代
码..........................................................................................................7
三、调试分
析...................................................................................................11
A.调试中遇到的问题及解决方
法...................................................................11
B.运行演
示.......................................................................................................12
总
结.................................................................................................................13
参考文
献.................................................................................................................14
致
谢.................................................................................................................15
附录:源代码(带注
释)...................................................................................16
1 摘 要
敢死队问题是根据著名的“约瑟夫环”演变而来的敢死队问题的处理与计算来设计的一个系统。整个系统从符合操作简便、界面友好、灵活、实用、安全的要求
出发,完成敢死队问题的全过程,包括创建四个数据结构(顺序存储结构、单链表存储结构、循环队列存储结构、数组存储结构)、数据的处理与计算、数据的分析、结果的输出。
关键字:敢死队问题 顺序表 单向循环链表 循环队列 数组 2 前 言
有M个敢死队员要炸掉敌人的一碉堡,谁都不想去,排长决定用轮回数数的办法来决定哪个战士去执行任务。如果前一个战士没完成任务,则要再派一个战士上去。现给每个战士编一个号,大家围坐成一圈,随便从某一个战士开始计数,当数到5时,对应的战士就去执行任务,且此战士不再参加下一轮计数。如果此战士没完成任务,再从下一个战士开始数数,被数到第5时,此战士接着去执行任务。以此类推,直到任务完成为止。
排长是不愿意去的,假设排长为1号,请你设计一程序,求出从第几号战士开始计数才能让排长最后一个留下来而不去执行任务。
3 正 文 一、需求分析 1、数据需求分析:
本系统的主要数据是正整数、结构体、指针
(1)正整数信息包括:队伍的人数,报数的数值,报数开始的位置。 (2)结构体储存每个战士的信息。
(3)指针包括链表的头指针、尾指针、当前指针。 2、功能分析:
本系统要实现对敢死队问题的模拟解决~需要实现一下几个功能 (1)创建存储结构:创建顺序表,创建单链表,创建数组。 (2)数据的输入:把队伍的人数,报数的数值输入。 (3)数据的处理;对队伍的人数,报数的数值进行计算。 (4)结果的输出:每执行一次任务的战士的编号、执行结果、报数开始的位置 输出,包括显示器和文件输出。
4
二、 程序总体设计 1、模块划分
(1)、操作界面模块 提供操作界面的信息输出模式。 (2)、单循环链表存储结构模块 用于通过运用顺序结构模块来计算结果。
(3)、循环队列存储结构模块 用于通过运用单链表结构模块来计算结果。 (4)、顺序表模块 用于通过运用数组结构模块来计算结果。 (5)、数组表模块 用于通过运用数组结构模块来计算结果。
2、总体流程图、函数调用关系图 (1) 总体流程图