- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
数据结构课程设计
题 目 : 《敢死队问题》 作 者 : *** 院 (系) : 信息工程学院 专 业 : 信息管理与信息系统 指导教师 : *** 日 期 : 2013年11月26日
目录
第一章 绪论……………………………………………………………3
第二章 需求分析………………………………………………………4
第三章 详细设计………………………………………………………4
第四章 调试分析………………………………………………………7
第五章 测试结果………………………………………………………8
第六章 源程序代码……………………………………………………8
第七章 实验总结………………………………………………………10
第八章 参考文献………………………………………………………11
第一章 绪论
课程设计时实践性教学中的一个重要环节,它以某一课程为基础,可以涉及和课程相关的各个发面,是一门独立于课程之外的独立课程。课程设计时让同学们对所学的课程更全面的学习和应用,可以理解和掌握课程的相关知识。《数据结构》是一门重要的专业基础课,是计算机理论和应用的核心基础课程。
数据结构课程设计,要求学生在数据结构的逻辑特性和物理表示、数据结构的选择和应用、算法的设计及其实现等方面,加深对课程基本内容的理解。同时,在程序设计方法以及上机操作等基本技能和科学作风等方面受到比较系统和严格的训练。
在这次的课程设计中我选择的题目是敢死队问题。加强版的约瑟夫环问题(用户输入N,M值,从1至N开始顺序循环数数,每数到M输出该值,直到全部输出,最后输出的一个获胜),增加了保证1号安全这一条件限制。并且模拟各个开始位置,队员死亡的顺序,以及最后的获胜者。
课程设计的目的的意义:加深对循环队列和数组的理解,以及对循环队列和数组的实际应用,加强自己的动手操作能力,增加对课程的兴趣,而不是枯燥的看课本。
课程设计—《敢死队问题》描述
有n个敢死队员要炸掉敌人的一碉堡,谁都不想去,排长决定用轮回数数的办法来决定哪个战士去执行任务。如果前一个战士没完成任务,则要再派一个战士上去。现给每个战士编一个号,大家围坐成一圈,随便从某一个战士开始计数,当数到5时,对应的战士就去执行任务,且战士不再参加下一轮计数。如果此战士没完成任务,再从下一个战士开始数数,被数到第5时,战士接着去执行任务。以此类推,直到任务完成为止。
1号,请你设计一程序,求出从第几号战士开始计数才能让排长最后一个留下来而不去执行任务。
3.结点类型和指针类型
typedef struct node
{
int data;
struct node *next;
}LNode;/* 定义结点类型 */
LNode *p;
4.每个模块的分析
(1)主程序模块:
main()
{
LNode *p;
int m,n,z,y;
do
{
printf( Please input the people number:\n);
scanf (%d,n);
}
while (n=0);
do
{
printf( Please input the excursion:\n);
scanf(%d,m);
}
while (m=0);
if (n==1)
printf(the position is: 1);
else
{
p=CREAT(n);
y=DELETE(p,m);
z=n-y+2;
if(z%n==0) /* 排除特殊情况 */
printf (the position is:\n%d\n,z);
else
printf(the position is:\n%d\n,(n-y+2)%n);
}/* 通过数学思想求得实验要求情况下的数值 */
}
(2)构造单循环链表并初始化模块:
LNode* CREAT(int n) /* 创建循环链表 */
{
LNode *s,*q,*t;
int i;
if(n!=0)
{
t=q=(LNode *)malloc(sizeof(LNode));
q-dat
您可能关注的文档
- 教程下题解析电子版.doc
- 教职工工作业绩计分和中层单位年终奖经费划拨挂钩的试行办法.doc
- 教育中问题不在教育而在文化.doc
- 教育传播学试卷.doc
- 教育传播学试题2.doc
- 教育信息化建设和应用状况调查问卷.doc
- 教育信息化现状分析和IT运维解决方案.doc
- 教育信息处理试卷.doc
- 教育信息技术2级证书考试培训大纲2006.doc
- 教育公共基本知识点主观题考点汇总.doc
- 多点监督与特征融合校准:目标检测算法的创新与突破.docx
- 南宁市门诊HIV_AIDS患者抑郁状况剖析与影响因素探究.docx
- 医疗过失犯罪中客观归责理论的精准适用与深度解析.docx
- 南宁市低碳经济发展研究.docx
- 清解瘀毒胶囊对脑出血大鼠血红蛋白毒性作用及机制探究.docx
- 内蒙古赤峰市元宝山区农村小学教师培训:现状、问题与突破路径.docx
- 泉州开发区国有资产投资经营有限公司发展战略研究:基于区域经济与市场环境的分析.docx
- 能源利用效率与经济增长方式的深度耦合及中国战略抉择.docx
- 分布式信号波达方向 - 时延联合估计算法的深度剖析与创新探索.docx
- 新媒体环境下大学校园精神传播的创新变革.docx
文档评论(0)