package dataStructure_8_Queue; import java.util.ArrayList; import java.util.List; /** * ��Queue��ʵ��Josephus���� * ��������ϵ����⵱�У� N�����ݾ�������һ��ͬ�������ַ�ʽ�������������� N����Χ��һȦ��λ�ü�Ϊ0��N-1���� ���Ҵӵ�һ���˱����� ����M���˻ᱻɱ���� ֱ�����һ���������� * �÷�������һ��List�� �����˱�ɱ���˵Ĵ��� * @author liuxin * */ public class Josephus { public static List<Integer> execute(int n, int m){ List<Integer> list = new ArrayList<Integer>(); List<Integer> listNew = new ArrayList<Integer>(); for (int i = 0; i < n; i++) { list.add(i); } int size = list.size(); System.out.println(list.size()); int index = 0; while(size != 0){ index += m-1; index = index%size; listNew.add(list.remove(index)); size--; } return listNew; } }