- 浏览: 734757 次
- 性别:
- 来自: 嘉兴
文章分类
- 全部博客 (386)
- Struts1.1 (2)
- Database (18)
- Core Java (15)
- Log4j (4)
- SSH (0)
- Dao (1)
- Architecture Design (1)
- References (2)
- Eclipse&MyEclipse (10)
- Hibernate (7)
- Spring (8)
- JavaMail (1)
- Data Structure And Algorithm (48)
- Struts 2 (2)
- SSI (1)
- SSL (2)
- JSTL (1)
- EJB3 (2)
- NET (2)
- XML (2)
- Components (2)
- Ant (3)
- Multi Thread (1)
- Performance Monitoring (1)
- Web Server (17)
- Oracle (1)
- jQuery (8)
- Regular Expression (1)
- Weblogic (1)
- Exception (1)
- Security (2)
- File Manipulation (1)
- JavaScript (12)
- JVM (2)
- HTML&DIV&CSS (4)
- Android (10)
- Beyond GFW (0)
- Business (0)
- SVN (6)
- 虚拟主机 (1)
- Virtual Host (3)
- My mentality (5)
- OS (15)
- ISPMP (3)
- Magento (5)
- Jsoup&HttpClient (7)
- LINUX (9)
- Database Design (0)
- Power Designer (1)
- TaobaoOpenPlatform (2)
- C/C++ (3)
- Maven (11)
- Quartz (1)
- Load Balance (1)
- Zabbix (4)
- Product&Business (1)
- Pay Interface (1)
- Tomcat (2)
- Redis (1)
- 集群 (1)
- Session (1)
- 共享Session (1)
- Jedis (1)
- jenkins (1)
- 持续集成 (1)
- Web前端 (1)
最新评论
-
aqq331325797:
特意注册账号上来说一句。牛逼!
swagger2.2.2 与 spring cloud feign冲突 -
KitGavinx:
跨顶级域名怎么保持sessionid一致?
Tomcat7集群共享Session 基于redis进行统一管理 -
jaychang:
dujianqiao 写道HI ,能否给一个完整的demo 啊 ...
淘宝订单同步方案 - 丢单终结者 -
GGGGeek:
找了一会儿,感觉mybatis应该没有这种操作,直到发现博主的 ...
mybatis collection list string -
dujianqiao:
HI ,能否给一个完整的demo 啊 ?
淘宝订单同步方案 - 丢单终结者
#include<iostream> #include<stdlib.h> using namespace std; typedef struct Node { int no; Node *next; } Node; /** * 初始化LinkedList */ void initLinkedList(Node *head){ head->no = 1; } /** *打印当前循环列表的元素 */ void procOutputLinkedList(Node *head,int num){ Node *p = head; int count = 1; while(count <= num){ cout<<p->no<<" \n"; p = p->next; } } /** *创建链表 */ void createLinkedList(Node *head,int num) { initLinkedList(head); Node *p = head; for(int i = 2 ; i <= num ; i ++){ Node * newNode = (Node*)malloc(sizeof(Node)); newNode->no = i; p->next = newNode; newNode->next = head; p = newNode; } //procOutputLinkedList(head,rear); } /** *处理约瑟夫出圈 */ void procJosephus(Node *head,int no,int num) { Node *p = head; Node *pPrev = NULL; int count = 1; while(p->next != NULL){ if(count == no){ Node *freeP = p; cout<<p->no<<"\n"; if(num == 2) pPrev->next = NULL; else pPrev->next = p->next; p = p->next; free(freeP); count = 1; num--; }else{ pPrev = p; p = p->next; count++; } } } int main() { Node *head = (Node*) malloc(sizeof(Node)); int num; int no; cout<<"请输入约瑟夫出圈问题总人数,出圈序号\n"; cin>>num>>no; createLinkedList(head,num); //procOutputLinkedList(head,num); procJosephus(head,no,num); return 0; }
发表评论
-
【排序算法系列】希尔排序
2015-12-05 16:14 839希尔排序的概述: a[0]...a[n-1 ... -
归并排序
2015-06-20 15:28 896public class MergeSort { pub ... -
插入排序
2015-06-20 15:27 485/** * 插入排序1 容易理解 * * ... -
有序线性链表归并
2013-10-05 11:30 1562#include<stdio.h> #incl ... -
Trie树 应用 Phone List
2012-06-15 11:21 1180Phone List 时间限 ... -
Trie树 单词查找树 键树(JAVA版附分析说明)
2012-06-13 10:27 5178来源于英文“retrieval”. ... -
Trie树 单词查找树 键树
2012-06-12 08:59 1156转自:http://zh.wik ... -
数字金额转中文大写金额
2010-11-26 15:09 1426/** * 用来将数字金额转化成中文大写的金额 ... -
汉诺塔递归算法
2010-11-25 08:17 1354import java.util.Scanner; /* ... -
SmartHashSet只是为了解释HashSet的原理
2010-07-26 11:11 1360写该类的目的只是为了 ... -
二叉树中序遍历非递归算法
2010-06-29 23:17 1723#include<iostream> usi ... -
二叉树的创建
2010-06-29 23:15 1135#include<iostream> usi ... -
哈弗曼树建立与哈弗曼编码
2010-06-29 23:12 1249#include<iostream> #de ... -
二叉排序树转双向链表(要求无任何新增节点)
2010-06-29 23:07 2493题目:输入一棵二元查找树,将该二元查找树转换成一个排序的双 ... -
线索二叉树中插入结点
2010-06-29 23:05 1891#include<iostream> usi ... -
二叉排序树的递归与非递归查找
2010-06-29 22:58 2309#include<iostream> usi ... -
二叉树中序线索化及查找某一结点的前驱,后继结点
2010-06-29 22:54 2683#include<iostream> usi ... -
十字链表定义创建查找
2010-06-29 22:44 1322#include<iostream> #defi ... -
稀疏矩阵转置
2010-06-29 22:39 1663#include<iostream> #defi ... -
单链表实现集合并交差操作
2010-06-29 22:34 1996#include<iostream> usi ...
相关推荐
约瑟夫出圈问题,又称为约瑟夫环问题,是一个经典的理论计算机科学问题,源自古罗马的一个传说。在这个问题中,人们围成一个圈,按照一定的规则进行报数,报到特定数值的人会被淘汰,然后剩下的人继续报数,直到只...
### 约瑟夫出圈问题详解 #### 一、问题背景与定义 约瑟夫问题(Josephus Problem)源自17世纪法国数学家加斯帕尔·德·罗贝瓦尔(Gaspard de Roberval)在其著作《数目的游戏问题》中提到的一个故事。该问题描述了...
Java 实现约瑟夫出圈问题,又称为约瑟夫环问题,是一个经典的计算机科学算法问题,涉及到循环链表和数组的数据结构以及递归或循环的编程思想。在这个问题中,我们假设有一群人围成一个圈,从第一个人开始顺时针报数...
cpp文件内采用两种方式实现经典的约瑟夫出圈问题,分别以数组方式和链表方式实现。同时,也可以实现直接输出最后的获胜者。
解决约瑟夫出圈问题的实现代码,大家共享 如果你有更好的资源,请给我来一份 package maicle; import java.util.LinkedList; public class Linklist { static int M=5;//选择第几个人出圈 static int N=10;//人数 ...
约瑟夫(Joseph)出圈问题 C++
约瑟夫问题的基本设定是:假设有一群人围成一个圈,按照一定的顺序报数,每报到特定数字的人会被排除出圈,然后从下一个人继续开始报数,直到只剩下最后一个人为止。问题的关键在于找到最后幸存者的编号或者位置。 ...
设有n各人坐在一圈,并按顺时钟方向从1到n编号,从第s个人开始进行1到m的报数,报到第m个人,此人出圈,再从他的下一个人重新开始从1到m的报数,如此进行下去直到所有的人出去为止。要求按出圈次序每十人为一组,给...
约瑟夫出圈问题源码,corejava实现
N个人围成一圈,从第一个人开始按顺序报数并编号1,2,3,……N,然后开始从第一个人转圈报数,凡是报到3的退出圈子。则剩下的最后一个人编号是多少。 定义一个类,然后在类前定义一个结构体 2、在类中定义一个链表...
约瑟夫问题是指 N 个人围成一圈,从第一个人开始报数,数到 M 的人出圈;再由下一个人重新开始报数,数到 M 的人出圈;…输出依次出圈的人的编号。N,M 由键盘输入。 在这个源代码中,我们使用了队列来模拟约瑟夫...
C++ 约瑟夫环的实例代码 约瑟夫环是一个数学的应用问题:已知n个人(以编号1,2,3…n分别表示)围坐在一张... * 约瑟夫出圈 */ #include <stdio> int main() { char peo[100] ; char *p_peo = peo; int i , n , s
该问题的基本设定是:一组人围成一个圆圈,按照顺时针方向从某个人开始计数,每当数到特定数值的人就会被剔除出圈,然后从下一个人继续计数,直到只剩下最后一个人为止。问题的目标是找出这个最后幸存者的位置。 在...
约瑟夫问题源自一个经典的数学问题,该问题描述了这样的场景:N个人围成一个圈,并按照某种规则依次淘汰,直到只剩下一个人为止。具体规则是:从某人开始报数,数到指定数字(M)的人将被淘汰出局,然后从下一个人...
问题描述如下:n个人围成一个圈,从某个人开始编号,第1个被选中的人出局,然后从下一个人开始继续计数,数到第m个人再出局,如此循环下去,直到只剩最后一个人为止。这个最后剩下的一个人就是获胜者。在实际的编程...
- `GetOutputOrder`函数实现了约瑟夫环的核心逻辑,即根据给定的人数和个人报数的阈值(`reportValue`),计算出每个人出圈的顺序。 - 使用循环遍历链表,当计数器`count`等于`reportValue`时,表示该人出圈,将其...
约瑟夫环2、 约瑟夫(Josephus)环问题:编号为1,2,3,…,n的n个人按顺时针方向围坐一圈,每人持有一个密码(正整数)。一开始任选一个正整数作为报数的上限值m,从第一个人开始按顺时针方向自1开始顺序报数,报到m时...
2.c模拟weindow下getch.c某月天数.c逆序.c逆序四位整数.c排序.c判断某个...约瑟夫出圈.c账簿结算.c找字符.c正确版砝码.c指针函数.c指针交换.c指针运算.c注册.c自己实现printf.c字符串排序.c字面值数组指针.c总分平均分...
用循环单向链表解决约瑟夫问题 原题: 设有n个人站成一圈,每个人持有一个密码(正整数)。现从第t个人开始,按顺时针方向“1,2,3,4,…”循环报数,数到m1(第t个人所持密码)的人出列,然后从出列者的下一个人重新...