约瑟夫环

 

一、约瑟夫问题

  假设n个依次顺序编号1,2,…,n的竞赛者排成一个环形队列。每人均持有一个密码m,从第1个人开始,从1开始循环计数,每数到第m时,则让让其出队列。然后从下一个人开始重新从1开始计数,继续进行下去。这个过程一直进行到所有的人都出队列为止。最后出列者为优胜者。请输出给定条件下出队列的顺序。

二、题目要求

    请结合第二章节:线性表相关内容,分析问题性质和操作方法,并完成代码编写。具体请完成如下内容:

    1.分析问题,问题实质可以理解为何种数据结构问题(逻辑结构问题)。

    2.根据分析,写出问题的ADT定义。

 3.确定数据的存储方法,并定义相关数据类型。

 4.描述实现的操作算法。

 5.写出完整代码,运行调试输出结果。

    必要时加上适当的图示。

三、问题分析

  由约瑟夫环可知道要用循环链表的数据结构,构造函数用尾插法进行初始化循环链表。战士死即出列,需要删除操作,用motify函数解决此问题。输出没有死的的人,即顺序输出算法,用showelse解决此问题。

   

                               

                              


  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值