链表 - 约瑟夫问题
就是简单的链表操作,下面是实例。
#include<iostream>
#include<cstring>
#include<cstdio>
#include<cstdlib>
#include<cmath>
#include<algorithm>
using namespace std;
int tot;
struct node {int num;node() {num = ++tot;}node *next,*past;
};
int main() {int m,n;while(1) {scanf("%d%d",&n,&m);tot = 0;node *head = new node,*temp = head;node *tmp = head;for(int i = 1; i<n; i++) {temp -> next = new node;temp -> next -> past = temp;temp = temp -> next;}head -> past = temp;temp -> next = head;if(!m && !n) {break;}int to = 0;while(tmp -> next != tmp) {to ++;if(!(to % m)) {node *t = tmp;tmp -> past -> next = tmp -> next;tmp -> next -> past = tmp -> past;tmp = tmp -> next;delete t;} else {tmp = tmp -> next;}}printf("%d\n",tmp -> num);delete tmp;}return 0;
}
转载于:https://www.cnblogs.com/wenoi/p/9093938.html
链表 - 约瑟夫问题相关推荐
- java 单链表约瑟夫环_java循环单链表实现约瑟夫环问题
package SingleLinkList; //节点类 class Node{ private int data; private Node next; public int getData() ...
- 数据结构一:链表(约瑟夫问题)
一:约瑟夫问题 约瑟夫问题-循环链表典型应用 例题: n 个人围成一个圆圈,首先第 1 个人从 1 开始一个人一个人顺时针报数,报到第 m 个人,令其出列.然后再从下一 个人开始从 1 顺时针报数,报 ...
- 链表之单链表约瑟夫问题(一)
package com.chenyu.zuo.linkedList;import com.chenyu.zuo.linkedList.RemoveMidNode.Node; /*** 环形单链表的约瑟 ...
- java 约瑟夫问题 链表_【链表问题】环形单链表约瑟夫问题
前言 以专题的形式更新刷题贴,欢迎跟我一起学习刷题,相信我,你的坚持,绝对会有意想不到的收获.每道题会提供简单的解答,如果你有更优雅的做法,欢迎提供指点,谢谢 [题目描述] [要求] 输入:一个环形单 ...
- 约瑟夫环c语言计蒜客链表,约瑟夫环的故事 - osc_3n35hvex的个人空间 - OSCHINA - 中文开源技术交流社区...
usingSystem;usingSystem.Collections.Generic;usingSystem.Linq;usingSystem.Text;usingSystem.Threading. ...
- 链表之单链表约瑟夫问题(三)
约瑟夫环(约瑟夫问题)是一个数学的应用问题:已知n个人(以编号1,2,3...n分别表示)围坐在一张圆桌周围.从编号为k的人开始报数,数到m的那个人出列:他的下一个人又从1开始报数,数到m的那个人又出 ...
- 链表之单链表约瑟夫问题(二)
约瑟夫环(约瑟夫问题)是一个数学的应用问题:已知n个人(以编号1,2,3...n分别表示)围坐在一张圆桌周围.从编号为k的人开始报数,数到m的那个人出列:他的下一个人又从1开始报数,数到m的那个人又出 ...
- 数据结构--链表--约瑟夫环问题(单向循环链表)
问题:一群人站成一个圆圈,从一个人开始报数,1, 2 ,...m,报到m的拉出去砍了,求被砍的顺序和最后一个活下来的. 利用单向循环链表实现 C++代码如下:(参考书籍:数据结构与算法实验指导书) # ...
- Algorithms_基础数据结构(04)_线性表之链表_单向循环链表约瑟夫环问题
文章目录 大纲图 链表的经典面试题目 如何设计一个LRU缓存淘汰算法 约瑟夫问题 结构 分析 大纲图 链表的经典面试题目 如何设计一个LRU缓存淘汰算法 tip:单向链表 约瑟夫问题 N个人围成一圈, ...
最新文章
- 任务队列,消息队列和rpc的区别是什么?
- Apache ZooKeeper - 构建ZooKeeper源码环境及StandAlone模式下的服务端和客户端启动
- MYSQL专题-MySQL事务实现原理
- metamask中的import account的代码实现
- 爱迪生欺骗了世界! ----马云给雅虎员工演讲
- STL 之accumulate,adjacent_difference,inner_product,partial_sum
- 4.Dynamics CRM 数据数量限制更改
- C++:18---const关键字(附常量指针、指针常量、常量指针常量)
- seata 如何开启tcc事物_微服务分布式事务4种解决方案实战
- 我花600小时,调研30家银行,为你讲透银行数据架构,小白都能懂
- mysql必知必会_5天学完《MySQL必知必会》学习笔记之第四天
- 分享30个打动你的摄影师作品集网站
- java和线程相关的关键字有哪些_Java中有哪些机制来保证线程安全?synchronized关键字和volatile关键字...
- 创业的两种方式,你适合哪一种?
- bzoj2229: [Zjoi2011]最小割(最小割树)
- 数据--第23课 - 队列的优化实现
- SAS入门教程2---建立SAS数据集
- 计算机三角符号,word标尺倒三角 word倒三角符号
- 沟通CTBS,远程接入速度不再是困扰
- 【系统集成项目管理工程师】—三点估算