约瑟夫环问题的解决:

##数据结构课的作业,使用了循环单链表来解决这个问题,不过在原题的基础上作了一点点变化,下面上代码!
首先放上解决问题的代码!
import java.util.Scanner;
public class Y {
/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
Scanner in = new Scanner(System.in);
//由用户定义玩家数量
int n = in.nextInt();
//由用户输入首个密码
int M = in.nextInt();
//按次序初始化添加玩家
int password = in.nextInt(); //用户输入首个玩家的密码
LinkList<Player> list = new LinkList<>(new Player(1,password));
for (int i = 1; i < n; i++) {
//用户输入每个玩家的密码
password = in.nextInt();
list.initAdd(new Player(i+1,password));
}
//创建计数器
int count = 1;
while(list.getLength()>1){
while(count!=M){
list.next(); //游标向后浮动一位
count++; //计数器加一
}
count = 1; // 初始化计数器
Player player = list.delete().getData(); //删除当前游标所指

本文介绍了如何使用循环单链表解决约瑟夫环问题,这是一个数据结构课的作业。通过展示核心代码,包括Node节点定义和Player类的实现,作者分享了其解决方案。
最低0.47元/天 解锁文章
2771

被折叠的 条评论
为什么被折叠?



