你这个好麻烦啊, 理解 队列 和 桟 的区别
队伍 先进先出 FIFO
桟 先进后出 LIFO
本程序明显是队伍!!!
import java.util.* ;
public class T {
public static void main(String[] args) {
Listlist = new LinkedList ();
//模拟15个人,编号是1-15
for(int i=1 ; i<=15 ; i++) {
list.add(i);
}
//模拟 叫到7的人出圈
show(list , 7);
}
public static void show(Listlist , int n){
int i = 1 ;//每次报的数字
int count = 1 ;//记录第几次出圈
while(true){
//当list长度为1的时候代表就剩下1个人
if(list.size()==1){
System.out.println("第"+count+++"次是"+list.get(0));
return ;
}
//每次获取队里第一个人
int value = list.get(0);
//报完数后移开该人
list.remove(0);
//如果报数的人报的数字为n ,则打印
if(i == n) {
i = 1 ;
System.out.println("第"+count+++"次是"+value);
}else {
//如果报数的人报的数字不是n ,将该人排到队伍的后面,以便下次继续叫号
list.add(value);
//产生下次报数的数字
i++ ;
}
}
}
}