ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

约瑟夫环

2021-07-25 10:32:37  阅读:195  来源: 互联网

标签:Box getNext helper int 约瑟夫 public first


package A;

public class Josephu {
public static void main(String[] args) {
Manage1 manage1=new Manage1();
manage1.addBox(5);
manage1.showBox();
manage1.countBox(1,2,5);
}
}

package A;

public class Manage1 {
Box first=null;

public void addBox(int nums){
if (nums<1){
System.out.println("nums必须大于或等于1");
return;
}
Box temp=null;
for (int i = 1; i <= nums; i++) {
Box box=new Box(i);
if (i==1){
first=box;
first.setNext(first);
temp=first;
}else {
temp.setNext(box);
box.setNext(first);
temp=box;
}
}
}

public void showBox(){
if (first==null){
return;
}
Box temp=first;
while (true){
System.out.println("bhao:"+temp.getId());
if (temp.getNext()==first){
break;
}
temp=temp.getNext();
}
}

public void countBox(int startId,int countNum,int nums){
if (first==null||startId<1||startId>nums){
System.out.println("输入有误");
return;
}
Box helper=first;
while (true){
if (helper.getNext()==first){
break;
}
helper=helper.getNext();
}
for (int j=0;j<startId-1;j++){
first=first.getNext();
helper=helper.getNext();
}
while (true){
if (helper==first){
break;
}
for (int j=0;j<countNum-1;j++){
first=first.getNext();
helper=helper.getNext();
}
System.out.println("小孩跳出圈"+first.getId());
first=first.getNext();
helper.setNext(first);
}
System.out.println("最后留在圈中的是"+first.getId());
}
}

package A;

public class Box {
private int id;
private Box next;
public Box(int id){
this.id=id;
}

public int getId() {
return id;
}

public void setId(int id) {
this.id = id;
}

public Box getNext() {
return next;
}

public void setNext(Box next) {
this.next = next;
}
}

标签:Box,getNext,helper,int,约瑟夫,public,first
来源: https://www.cnblogs.com/zhumenglong/p/15057183.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有