写出一个双向的循环链表,弄一个计数器,我定义的是到三的时候,自动删除当前节点,很简单。 package Com;import java.util.Scanner;/* * 约瑟夫环问题,有n个人组成的圈,数到3的那个人出列,下个人继续从一开始 */public class Josephus {...
分类:
编程语言 时间:
2015-11-06 19:16:53
阅读次数:
232
据说著名犹太历史学家Josephus有过以下的故事:在罗马人占领乔塔帕特後,39个犹太人与Josephus及他的朋友躲到一个洞中,39个犹太人决定宁愿死也不要被人抓到,于是决定了一个自杀方式,41个人排成一个圆圈,由第1个人开始报数,每报数到第3人该人就必须自杀,然后再由下一个重新报数,直到所有人都...
分类:
编程语言 时间:
2015-09-29 01:06:42
阅读次数:
531
题目说明: 据说著名犹太历史学家 Josephus有过以下的故事:在罗马人占领乔塔帕特后,39个犹太人与Josephus及他的朋友躲到一个洞中,39个犹太人决定宁愿死也不要被敌人抓到,于是决定了一个自杀方式,41个人排成一个圆圈,由第1个人 开始报数,每报数到第3人该人就必须自杀,然后再由下一个重新...
分类:
编程语言 时间:
2015-09-23 14:43:23
阅读次数:
281
利用循环链表模拟约瑟夫问题,把自杀的人的顺序排列出来代码如下: 1 #include 2 #include 3 4 typedef int status; 5 6 typedef struct node 7 { 8 status data; 9 struct node *next...
分类:
其他好文 时间:
2015-09-17 21:25:53
阅读次数:
134
/*以下程序用来解决Josephus问题,现在只是完成了M>N的情况,2015-08-20 22:22:20*//*发现一个问题:数组的赋值问题:char People[N]={1};并不代表所有的元素都是1啊,要确保全都是1,务必使用char People[N]={1,1,1,1};或者采用循环给...
分类:
编程语言 时间:
2015-08-21 13:05:29
阅读次数:
203
package cn.java.project.Josephus;import java.util.LinkedList;import java.util.List;import java.util.Scanner;/** * 丢手帕(约瑟夫)问题 * * 具体问题:设编号为1,2,3....n的....
分类:
其他好文 时间:
2015-08-05 21:39:58
阅读次数:
141
#include
#include
#include
#define ERROR 0
typedef struct LNode{
int data;
struct LNode *link;
}LNode, *LinkList;
void JOSEPHUS(int n, int k, int m)//n为总人数,k为第一个开始报数的人,
//m为出列者喊到的数
{...
分类:
其他好文 时间:
2015-08-02 23:26:51
阅读次数:
165
#include#include#include#define MAXINT 0x7fffffff#define MININT 0X80000000//字符串中第一个只出现一次的字符char firstSingle(char *str){ int a[255]; memset(a, 0, 255 *...
分类:
编程语言 时间:
2015-08-01 09:58:43
阅读次数:
138
//CycList:循环单链表
#include
#include
typedef int DataType;
typedef struct Node{
DataType data;
struct Node *next;
}ListNode,*LinkList;
//创建一个不带头结点的循环单链表
LinkList CreateCycList(int n){
DataType e;
Li...
分类:
其他好文 时间:
2015-08-01 01:11:17
阅读次数:
172
/* assume a header *//* 双向循环链表 */struct Node;typedef struct Node * PtrToNode;typedef PtrToNode List;typedef PtrToNode position;struct Node{ PtrToNo...
分类:
其他好文 时间:
2015-07-09 21:26:36
阅读次数:
175