`
mllongze
  • 浏览: 83005 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

JAVA实现约瑟夫环

阅读更多
//实现约瑟夫环
public class Josephus {
	private static class Node{
		public int no;
		public Node	next; //下一个节点
		
		public Node(int no){
			this.no = no;
		}
	}
	public static void main(String[] args){
		Scanner scaner = new Scanner(System.in);
		System.out.println("请输入人数:");
		int totalNum = scaner.nextInt();
		System.out.println("请输入报数的大小:");
		int cycleNum = scaner.nextInt();
		
		//构成一个圈
		Node header = new Node(1);
		Node pointer = header;
		for(int i = 2 ; i<=totalNum ; i++){
			pointer.next = new Node(i);
			pointer = pointer.next;
		}
		pointer.next = header;
		
		//初始化结束条件为就剩一个节点
		while(pointer != pointer.next){
			for(int i = 1;i < cycleNum ; i++){
				pointer = pointer.next;
			}
			System.out.println(pointer.next.no);
			//删除节点
			pointer.next = pointer.next.next;
		}
		//最后一个节点
		System.out.println(pointer.next.no);
	}
}
分享到:
评论
2 楼 mllongze 2011-10-14  
haidage 写道
小伙,你头像真磕碜。

那是我最帅的一张
1 楼 haidage 2011-10-13  
小伙,你头像真磕碜。

相关推荐

    java实现约瑟夫环问题Josephus

    java实现约瑟夫环问题Josephus 约瑟夫问题 * 已知n个人(以编号1,2,3...n分别表示)围坐在一张圆桌周围。从编号为k(1,2,3...n)的人开始报数,数到m(1,2,3...)的那个人出列; * 他的下一个人又从1开始报数,...

    java 实现约瑟夫环

    ### Java 实现约瑟夫环 #### 背景与概念 约瑟夫问题(Josephus problem)是一个经典的计算机科学问题,源自古罗马时期的数学难题。这个问题描述为:一群人在围成一圈,按照一定的顺序报数,每报到某个特定数字的人...

    JAVA实现约瑟夫环的方法

    使用JAVA实现约瑟夫环,可以输入任意一组数字

    java编写的循环链表来实现约瑟夫环

    循环链表 实现约瑟夫环 java 自己写的 测试通过 有注释

    用Java和Python实现约瑟夫环算法的代码示例.zip

    用Java和Python实现约瑟夫环算法的代码示例.zip 用Java和Python实现约瑟夫环算法的代码示例.zip 用Java和Python实现约瑟夫环算法的代码示例.zip 用Java和Python实现约瑟夫环算法的代码示例.zip 用Java和Python实现...

    Java递归实现约瑟夫环应用问题

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

    约瑟夫环java实现

    约瑟夫环java实现

    Java求约瑟夫环问题.docx

    下面是使用 Java 实现约瑟夫环问题的代码示例: ```java import java.util.ArrayList; import java.util.List; public class Main { public static void main(String[] args) { int n = 10; // 总人数 int m = 3...

    求解约瑟夫环 数据结构循环链表 java求解

    约瑟夫环问题,也称为约瑟夫环序列或约瑟夫问题,是一个著名的理论问题,源自古罗马历史上的一个故事。...通过Java实现约瑟夫环,不仅能够锻炼编程能力,还能加深对数据结构和算法设计原理的理解。

    java simith数和约瑟夫环问题代码

    现在,让我们来看一下 Java 实现约瑟夫环问题的代码。首先,我们需要创建一个名为 `ex2_21` 的 Java 类,用于实现约瑟夫环问题。 ```java package sch.exercise; public class ex2_21 { public static void main...

    Java约瑟夫环演示Applet源码

    在这个Java Applet程序中,我们将探讨如何用Java实现约瑟夫环的算法,并通过Applet在网页上进行动态演示。 约瑟夫环问题的基本描述是:人们按照顺时针方向围成一个圈,从某个人开始编号,然后按照一定的间隔去除人...

    java用数组实现约瑟夫环

    java用数组实现的约瑟夫环问题。代码简单易懂。

    数据结构(Java)约瑟夫环

    在Java中实现约瑟夫环,通常会用到链表(LinkedList)或者数组(Array)来模拟环形结构。以下是一个基于链表实现的约瑟夫环算法: 1. 首先,我们需要创建一个表示人的节点类(Node),包含两个属性:一个存储该节点...

    利用java写的约瑟夫环

    要实现约瑟夫环,我们可以使用数组、链表或者栈等数据结构。这里可能采用了链表,因为链表在插入和删除操作上的效率更高,与环形结构相匹配。基本的算法思路是创建一个循环链表,然后遍历链表,按设定的计数规则移除...

    约瑟夫环问题Java代码实现

    约瑟夫环问题Java代码实现 约瑟夫环问题是一种经典的算法问题,指的是在一个圆形排列的n个人中,每次从1开始报数,凡是报到m的人出局,问最后出局的人是谁。这个问题可以使用Java语言来实现。 约瑟夫环问题的Java...

    java 实现约瑟夫环的实例代码

    这个Java实现有效地运用了链表数据结构来解决约瑟夫环问题,展示了如何用面向对象的方式构造和操作数据结构。通过这种方式,我们不仅可以理解约瑟夫环的算法逻辑,还能学习到Java中链表的创建、遍历和修改等基本操作...

    java顺序表实现约瑟夫环的两种方法

    本篇将详细介绍两种通过Java顺序表实现约瑟夫环的方法。 **方法一:通过数组移动** 在这种方法中,我们首先创建一个数组来模拟环状结构,数组的索引代表每个人的编号。每次执行“杀掉”操作时,我们将数组中指定...

    Josephus.java,是java课程的实验2 求解约瑟夫环问题.zip

    在本实验中,我们将深入探讨如何用Java实现约瑟夫环问题的解决方案。 约瑟夫环问题描述如下:假设有一群人围成一个圈,按照顺时针方向依次编号。每次从某个人开始,每隔固定的人数淘汰一人,直到剩下最后一个人为止...

Global site tag (gtag.js) - Google Analytics