约瑟夫问题的java简单算法

来源:互联网 发布:网页制作软件手机 编辑:程序博客网 时间:2024/06/05 09:41
 // 约瑟夫环问题
package com.neusoft;

import java.util.Iterator;
import java.util.Vector;

public class Josefu {
    
    private final static int NUM=3;
    private static String people[]=new String[]{"a","b","c","d","e","f","g","h"};
    
    public static void main(String[] args) {
        
        Vector v=new Vector();
        for(int i=0;i<people.length;i++)
        {
            v.add(people[i]);
        }
        Iterator ite=v.iterator();
        int i;
        Object o=null;
        while(v.size()!=1)
        {        
            for(i=0;i<NUM;i++)
            {
                if(!ite.hasNext())
                    ite=v.iterator();
                o=ite.next();                
            }    
            ite.remove();
            System.out.println(o);
        }
        while(ite.hasNext())
            System.out.println(ite.next());
    }
}
原创粉丝点击