约瑟夫环(循环链表)
约瑟夫环
约瑟夫环问题的描述是:编号为1,2,…,n的n个人按顺时针方向围坐一圈,每人持有一个密码(正整数)。一开始任选一个正整数作为报数上限m,从第一个人开始按顺时针方向自1开始顺序报数,报到m时停止报数。报m的人出列,将他的密码作为一个新的m值,从他在顺时针方向上的下一个人开始重新从1报数,如此下去,直至所有人全部出列为止。
代码
#include<iostream>
#include<algorithm>
using namespace std;
typedef struct LNode{int data, position;struct LNode *next;
}LNode, *LinkList;
LinkList creation(LinkList &L, int n){L = (LinkList)malloc(sizeof(LNode));L->next = NULL;LinkList p, q;int vim = 1;q = L;for(int i = 0;i < n;i++){p = (LinkList)malloc(sizeof(LNode));cin>>p->data;p->position = vim;vim++;p->next = L->next;q->next = p;q = p;}
}
int main(){int mima, n;cin>>mima>>n;LinkList L;creation(L,n);for(int i = 0;i < n;i++){//*cout<<p->data<<" "<<p->position<<endl;int k = mima%(n-i);LinkList p;p = new LNode;for(int j = 0;j < k;j++){p = L;L = L->next;} cout<<L->position<<" ";mima = L->data;p->next = L->next;L = p;//cout<<L->data<<" "<<p->data<<endl;}return 0;
}
约瑟夫环(循环链表)相关推荐
- java约瑟夫环 循环链表_约瑟夫环_循环链表JAVA解答
编写测试案例 public class Cicle { @Test public void test() { LinkedList linkedList = new LinkedList(); lin ...
- 约瑟夫环 单向循环链表实现
约瑟夫环 已知n个人(以编号1,2,3...n分别表示)围坐在一张圆桌周围.从编号为k的人开始报数,数到m的那个人出列:他的下一个人又从1开始报数,数到m的那个人又出列:依此规律重复下去,直到圆桌周围 ...
- 约瑟夫环之循环链表实现
约瑟夫环是一个数学的应用问题:已知n个人(以编号1,2,3...n分别表示)围坐在一张圆桌周围.从编号为k的人开始报数,数到m的那个人出列:他的下一个人又从1开 始报数,数到m的那个人又出列:依此规律 ...
- python约瑟夫环单向循环链表_约瑟夫环的单向循环链表的实现代码
/************************************************************************* > File Name: JosephCir ...
- 循环链表解决约瑟夫环问题
约瑟夫环问题可以简单的使用数组的方式实现,但是现在我使用循环链表的方法来实现,因为上午看到一道面试题规定使用循环链表解决约瑟夫环问题. 什么是约瑟夫环? "约瑟夫环是一个数学的应用问题:已知 ...
- 约瑟夫环-(数组、循环链表、数学)
约瑟夫环(约瑟夫问题)是一个数学的应用问题:已知n个人(以编号1,2,3...n分别表示)围坐在一张圆桌周围.从编号为k的人开始报数,数到m的那个人出列:他的下一个人又从1开始报数,数到m的那个人又出 ...
- 《恋上数据结构第1季》单向循环链表、双向循环链表以及约瑟夫环问题
循环链表(CircleList) 链表的接口设计 单向循环链表 单向循环链表完整源码 双向循环链表 双向循环链表完整源码 双向循环链表解决约瑟夫环问题 如何发挥循环链表的最大威力? 静态链表 数据结构 ...
- 约瑟夫环问题(C语言数组和循环链表)
本文将用两种方式(数组和循环链表)求解约瑟夫环问题,为了更好理解,本文将从洛谷的P1996 约瑟夫问题出发. 题目描述 n个人围成一圈,从第一个人开始报数,数到 m的人出列,再由下一个人重新从1开始报 ...
- 约瑟夫环(循环数组循环链表)
目录 1.循环数组 2.循环链表 题目 1 .一群猴子要选新猴王.新猴王的选择方法是:让N只候选猴子围成一圈,从某位置起顺序编号为1~N号.从第1号开始报数,每轮从1报到3,凡报到3的猴子即退出圈子, ...
- 【数据结构与算法】 01 链表 (单链表、双向链表、循环链表、块状链表、头结点、链表反转与排序、约瑟夫环问题)
一.线性表 1.1 概念与特点 1.2 线性表的存储结构 1.3 常见操作 1.4 应用场景 二.链表 2.1 链表简介 2.2 单向链表(单链表) 2.21 基本概念 2.22 单链表基本操作 2. ...
最新文章
- mysql docker 2003_解决远程连接mysql 报 2003错误的问题(docker)
- angr学习笔记(3)
- php图片上传 thinkphp5,thinkphp5图片上传接口
- linux 目录结构+常用命令+压缩命令+vim使用+及一些基础知识(非常好)
- List vs IEnumerable vs IQueryable vs ICollection vs IDictionary
- (原创)Windows系统后安装ubuntu,无法选择启动ubuntu。
- 为什么手机显示系统服务器异常退出游戏,为什么现在进入游戏会提示服务期异常...
- OpenGL 头文件,库文件
- 《数学之美》知识点详细总结
- 大数据--论文读后感
- 安卓版本与adb的问题
- 基于JCA安全体系的封装
- android 流失布局,GitHub - hongyangAndroid/FlowLayout: [不再维护]Android流式布局,支持单选、多选等,适合用于产品标签等。...
- 合并两个有序数组(给定两个有序整数数组 nums1 和 nums2,将 nums2 合并到 nums1 中,使得 num1 成为一个有序数组。)
- 中国移动为挽留用户!推出20元不限量套餐,你会为之买单吗
- 如何做一个企业网站制作
- 图神经网络(贪心学院)
- Python做手写数字识别
- 文字图片在一行时候,图片居中问题
- Android使用百度地图sdk,实现微信发送位置功能
热门文章
- Java五子棋小游戏(源码及效果图)
- 超越C++标准库:Boost库导论电子书PDF下载
- Intel研究院院长吴甘沙演讲全文:大数据分析师的卓越之道(32PPT珍藏版)
- CStdioFile,CFile类,文本文件处理
- Eclipse Eclipseme wtk配置JAVA ME开发环境
- 真的是厚黑吗·《厚黑学全书》
- 计算机win10开机音乐,win10系统电脑开机总是自动播放音乐的恢复步骤
- Autonomous Navigation of an Ultrasound Probe Towards Standard Scan Planes with Deep Reinforcement Le
- 著名的松下伺服电机之中的1000W应该用那个系列的减速器呢?
- Qt 信号与槽 讲解与案例