约瑟夫环 已知n个人(以编号1,2,3...n分别表示)围坐在一张圆桌周围。从编号为k的人开始报数,数到m的那个人出列;他的下一个人又从1开始报数,数到m的那个人又出列;依此规律重复下去,直到圆桌周围的人全部出列。

///循环链表实现
#include<bits/stdc++.h>
using namespace std;
typedef struct List
{int data;struct List *next;
} node;
int main()
{node *head,*r,*s;head = new node;///带来头结点,不过后面会去掉r =head;int n,i;int k;cin>>n>>k;///建立循环链表for(i = 1; i<=n; i++){s = new node;s->data = i;r->next = s;r= s;}r->next =head->next;///为节点指向头结点的下一个有数据的结点node *p,*p1;p = head->next;///去掉头结点delete head;while(p->next != p)///当链表中只有一个结点时停止
        {for(i = 1; i<k-1; i++)///遍历到第k个时停止
            {p = p->next;}p1=p->next;///删除该结点p->next = p->next->next;delete p1;p = p->next;}cout<<p->data<<endl;delete p;return 0;
}

转载于:https://www.cnblogs.com/tp25959/p/10254101.html

约瑟夫环 单向循环链表实现相关推荐

  1. python约瑟夫环单向循环链表_约瑟夫环的单向循环链表的实现代码

    /************************************************************************* > File Name: JosephCir ...

  2. 约瑟夫环-单向循环链表

    #include<iostream.h> struct Node {  int data;  struct Node *next; }; int main() {  int m,n;  c ...

  3. 约瑟夫环之循环链表实现

    约瑟夫环是一个数学的应用问题:已知n个人(以编号1,2,3...n分别表示)围坐在一张圆桌周围.从编号为k的人开始报数,数到m的那个人出列:他的下一个人又从1开 始报数,数到m的那个人又出列:依此规律 ...

  4. 约瑟夫环(循环链表)

    约瑟夫环 约瑟夫环问题的描述是:编号为1,2,-,n的n个人按顺时针方向围坐一圈,每人持有一个密码(正整数).一开始任选一个正整数作为报数上限m,从第一个人开始按顺时针方向自1开始顺序报数,报到m时停 ...

  5. Java 约瑟夫环(循环链表解决)

    问题描述:N个人围成一圈,从第一个开始报数,第M个将被杀掉,最后剩下一个,其余人都将被杀掉.例如N=6,M=5,被杀掉的顺序是:5,4,6,2,3,1. 解题思路:因为是围成一圈,所以用循环链表是最符 ...

  6. java约瑟夫环 循环链表_约瑟夫环_循环链表JAVA解答

    编写测试案例 public class Cicle { @Test public void test() { LinkedList linkedList = new LinkedList(); lin ...

  7. (猴子选王)约瑟夫环方法4种方法之一——循环链表法

    话都在代码里 题目 //约瑟夫环的循环链表解法 #include <stdlib.h> #include <malloc.h> #include <stdio.h> ...

  8. 数据结构—约瑟夫环问题(C语言版)

    目录 首先什么是约瑟夫环 约瑟夫环实现方式 一.创建结构体变量 二.初始化链表 三.构建循环链表 四.删除链表 五.完整代码及注释讲解 首先什么是约瑟夫环 约瑟夫环是循环链表中的一个经典问题:题目描述 ...

  9. 《恋上数据结构第1季》单向循环链表、双向循环链表以及约瑟夫环问题

    循环链表(CircleList) 链表的接口设计 单向循环链表 单向循环链表完整源码 双向循环链表 双向循环链表完整源码 双向循环链表解决约瑟夫环问题 如何发挥循环链表的最大威力? 静态链表 数据结构 ...

最新文章

  1. c#中的protected和internal
  2. Ubuntu KDE中 Kaccounts-provider 问题
  3. java jdbc is一个会话_java_JdbcUtilis_单实例
  4. 体积的2 3科学计算机怎么算,小学三年级上册科学第2课-测量体积教案-冀人版
  5. 如何快速进入一个陌生的领域,高手通常用这三步
  6. 定义域可以写成不等式吗_证单变量不等式(一)
  7. 利用anaconda给pycharm配置python3.7版本的tensorflow虚拟环境的配置
  8. matlab 2017安装教程
  9. python 面试题 aac caa相似_Python 面试实训 100 题,哪道难住了你?| 文末附答案
  10. 解决IE访问Oracel OEM证书错误
  11. 一种结合基于股债利差的A股估值百分位、有限价值策略定投和股债组合投资的创新型低回撤高收益稳健理财方法
  12. ros android 方案,ROS + Android
  13. 数据库的schemas(模式)
  14. 【遥感卫星】Landsat 卫星
  15. 如何查看winmail.dat中的文件
  16. CODECHEF Oct. Challenge 2014 Children Trips
  17. 信息时代的两极:重数量的百度,重质量的知乎
  18. 有了它,实车测试数据记录、分析、管理so easy~
  19. 如何在ABAP中实现账单详情查询功能
  20. 私有云 解决方案_私有云–理想的业务解决方案

热门文章

  1. batch 批处理获取系统时间
  2. 二、JavaScript语言--JS基础--JavaScript进阶篇--DOM对象 控制HTML元素
  3. 经常下载的朋友注意了,教你怎样硬盘零伤害(从论坛上拷下来收藏的)
  4. 一步一步SharePoint 2007之二十三:编写一个最简单的WebPart(1)——创建工程
  5. BoW图像检索Python实战
  6. TS流解析之PAT表格解析
  7. Java String类源码解析
  8. Unity Shader-描边效果
  9. Quartus II sof文件转 jic文件
  10. Mysql学习总结(41)——MySql数据库基本语句再体会