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

2022-10-20,,,

复制代码 代码如下:
import java.io.bufferedinputstream;
import java.util.arraylist;
import java.util.list;
import java.util.scanner;
public class josephus {
    private static class node{
        int no;
        node next;
        public node(int no){
            this.no=no;
        }
    }
    public static void main(string[] args) {
        int totalnum,cyclenum;
        list<integer> list = new arraylist<integer>();
        scanner cin = new scanner(new bufferedinputstream(system.in));
        system.out.println("请输入总人数:");
        totalnum=cin.nextint();
        system.out.println("请输入报数人数:");
        cyclenum=cin.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;
        pointer=header;
        while(pointer != pointer.next){
            int i =2;
            while(i<cyclenum){
                pointer = pointer.next;
                i++;
            }
            //list.add(pointer.next.no);
            system.out.println("将序号"+pointer.next.no+"剔除。");
            pointer.next=pointer.next.next;
            pointer=pointer.next;
        }
        system.out.println("这是最后一个人:"+pointer.no);
    }
}

《java 实现约瑟夫环的实例代码.doc》

下载本文的Word格式文档,以方便收藏与打印。