public class ListTest
{
public void outList(int[] a, int m, int n)
{
int flag1 = 0; //计数用 判断加到m时 处理出队
int flag2 = 0; // 计数 当为n 时 程序退出
for(int i = 0; i < n; i++)
{
if(a[i] != -1)
flag1++;
if(flag1 == m)
{
flag1 = 0;
flag2++;
System.out.println(a[i]); // 第几个人出队
a[i] = -1;
}
if(i == (n - 1))
i = -1;
if(flag2 == n)
{
return;
}
}
}
public static void main(String[] args)
{
int n = 10;
int m = 7;
int[] a = new int[50];
for(int i = 0; i < n; i++)
{
a[i] = i + 1;
}
ListTest listTest = new ListTest();
listTest.outList(a, m, n);
}
}
程序已经测试过 这是个数组的 但大概算法就是这样
jbm 'plm';,'ML L;