`
tanlan
  • 浏览: 202036 次
  • 性别: Icon_minigender_1
  • 来自: 成都
社区版块
存档分类
最新评论

约瑟夫环的一种实现

阅读更多

import java.util.Scanner;

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 scanner = new Scanner(System.in);
		System.out.print("请输入总人数:");
		int totalNum = scanner.nextInt();
		System.out.print("请输入报数的大小:");
		int cycleNum = scanner.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;
		// 初始化环形链表结束
		System.out.println("以下是出列的顺序:");
		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);
	}
}
 
7
2
分享到:
评论

相关推荐

    约瑟夫环问题及设计程序实现约瑟夫环求解

    问题描述:约瑟夫环问题的一种描述是:编号为1,2,...,n的n个人按顺时针方向围坐一圈,每人持有一个密码(正整数)。一开始任选一个正整数作为报数上限值m,从第一个人开始按顺时针方向自1开始顺序报数,报到m时...

    约瑟夫环问题三种方法实现

    分别用一维数组,结构体数组,循环链表实现约瑟夫环问题,功能完备,代码添加注释,经典易懂

    【C语言】双向、循环链表实现约瑟夫环

    约瑟夫环有很多种问法,这里举例了其中一种,不过都大同小异 已知n个人(以编号1,2,3...n分别表示)围坐在一张圆桌周围, 每个人都有自己的一个密码。 从第一个人开始报数,数到m(初始设定)的那个人出列; 他的下...

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

    通过java顺序表实现约瑟夫环的两种方式: 1.通过数组移动 2.通过记录出对列的人员下标,下次查数时跳过

    约瑟夫环程序实现C++

    约瑟夫问题的一种描述是:编号为1,2,……,n的n个人按顺序围一圈,每人持有一个密码。开始有一个初始密码m。人们按顺序报数,报到m的人出列,然后取出列人的密码替换m,重新报数,以此类推,直到最后一个人出列,求...

    数据结构实验报告(约瑟夫环)

    约瑟夫环(Joseph)问题的描述一种是:编号为1,2,3……,n的n个人按顺时针方向围坐一圈,每人持有一个密码(正整数)。一开始任选一个正整数作为报数上限值m,从第一个人开始按顺时针方向自1开始报数,报到m时停止报...

    数据结构 约瑟夫环 实验报告

    约瑟夫(Joseph)问题的一种描述是:编号为1,2,…,n的n个人按顺时针方向围坐一圈,每人持有一个密码(正整数)。一开始任选一个正整数作为报数上限值m,从第一个人开始按顺时针方向自1开始顺序报数,报到m时停止...

    数据结构c语言版约瑟夫环.zip

    约瑟夫(Joseph)问题的一种描述是:编号为1,2,…,n的n个人按顺时针方向围坐一圈,没人持有一个密码(正整数)。...数据结构c语言版1.2约瑟夫环实验报告,有手动输入和随机生成两种,拓展部分用了数组来实现。

    设计一个程序求出约瑟夫环问题的出列顺

    设计一个程序求出约瑟夫环问题的出列顺序,掌握线性表的基本操作在两种存储结构上的实现。

    有关约瑟夫环(持有密码版和经典版)C++信息学竞赛13个文件

    约瑟夫环问题的一种描述是:编号为 1,2,…,n 的 n 个人按顺时针方向围坐一圈,每人持有一个密码(正整数)。一开始任选一个正整数作为报数上限值 m,从第一个人开始按顺时针方向自 1 开始顺序报数,报到 m 时停止...

    约瑟夫环实现编号是1,2,……,n的n个人按照顺时针方向围坐一圈

    一开始任选一个正整数作为报数上限值m,从第一个仍开始顺时针方向自1开始顺序报数,报到m时停止报数。报m的人出列,将他的密码作为新的m值,从他在顺时针方向的下一个人开始重新从1报数,如此下去,直到所有人全部...

    约瑟夫环 实现有序顺序表、有序单链表的插入、删除、有序合并操作

    约瑟夫(Joseph)问题的一种描述是:编号为1,2,…,n。的n个人按顺时针方向围坐一圈,每人持有一个密码(正整数)。一开始任忿一个正整教作为报教上限值m,从第一个人开始按服时针方向自1开始顺序报数,报到m时停止...

    约瑟夫环实习报告.pdf

    约瑟夫环(Joseph)问题的一种描述是:编号为1,2……,n的n个人 按顺时针方向围坐一圈,每人持有一个密码(正整数)。一开始任选一 个正整数作为报数上限值m,从第一个人开始按顺时针方向自1开始顺 序报数,报到m时...

    敢死队问题课程设计(约瑟夫环问题的应用)

    循环单链表是单链表的另一种形式,其结构特点链表中最后一个结点的指针域不再是结束标记,而是指向整个链表的第一个结点,从而使链表形成一个环。和单链表相同,循环链表也有带头结点结构和不带头结点结构两种,带头...

    约瑟夫环帮助学生熟练掌握线性表的基本操作在两种存储结构上的实现

    约瑟夫问题的一种描述是:编号为1,2,…,n的n个人按顺时针方向围坐一圈,每人持有一个密码(正整数)。一开始任选一个正整数作为上限值m,从第一个人开始按顺时针方向自1开始顺序报数,报到m时停止报数。报m的人...

    c语言用数组方法解决约瑟夫环问题

    这个题我是用数组下标置0方法做的,类似单链表的性质,这个方法是模拟了游戏过程,是比较笨的代码,喜欢研究的朋友可以用相关算法来实现。时间复杂度为O(n^2),代码注释很详细,基本每一行我都写了注释,稍微有点...

    约瑟夫环.zip

    约瑟夫问题的一种描述是:编号为 1,2,...,n 的 n 个人按顺时针方向围坐一圈,每人持有一个密码(正整数)。一开始任选一个正整数作为报数上限值 m,从第一个人开始。按顺时针方向自 1 开始顺序报数,报到 m 时停止报数...

    数据结构中的约瑟夫环 源代码

    数据结构中的一道例题——约瑟夫环的一种代码,相信很多人都做过这道题,交流一下。

    用c++来实现约瑟夫环问题

    约瑟夫环用c++来实现

    约瑟夫问题

    问题表述: 约瑟夫问题的一种描述是... (3) 程序所能实现的功能是实现一个约瑟夫环的功能,将n个人按照某种顺序全部出列为止。 (4) 测试数据:n=7,7个人的密码依次是3,1,7,2,4,8,4首先m的值为6

Global site tag (gtag.js) - Google Analytics