《约瑟夫双向生死游戏》数据结构 课程设计

本文档是关于《约瑟夫双向生死游戏》的数据结构课程设计,包括需求分析、详细设计、代码实现、运行与测试以及总结。设计中,通过双向循环链表实现旅客的正向和反向计数,模拟游戏过程,删除指定位置的旅客,并输出剩余旅客信息。设计思路涉及创建链表、确定删除和剩余旅客位置,以及异常输入处理。
摘要由CSDN通过智能技术生成

《约瑟夫双向生死游戏》数据结构 课程设计

目 录

1需求分析
1.1 问题描述
1.2 问题要求
1.3 设计思路
2详细设计
2.1抽象数据类型定义
2.2存储结构设计
2.3算法设计
2.4功能模块设计
3代码实现
3.1 函数清单
3.2 主函数
4运行与测试
5总结

参考文献
附录(代码)

1需求分析

1.1 问题描述
约瑟夫双向生死游戏是在约瑟夫生者死者游戏的基础上,正向计数后反向计数,然后再正向计数。具体描述如下:30个旅客同乘一条船,因为严重超载,加上风高浪大,危险万分;因此船长告诉乘客,只有将全船一半的旅客投入海中,其余人才能幸免遇难。无奈,大家只得同意这种办法,并议定30个人围成一圈,由第一个人开始,顺时针依次报数,数到第9人,便把他投入大海中,然后从他的下一个人数起,逆时针数到第5人,将他投入大海,然后从他逆时针的下一个人数起,顺时针数到第9人,再将他投入大海,如此循环,直到剩下15个乘客为止。问哪些位置是将被扔下大海

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

司沐夜枫

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值