您的位置:首页 > 编程语言 > Java开发

Java(LinkedList) 队列的小实现

2012-07-18 17:13 501 查看
package D0718;
/*
* 有一叠牌,从第一张牌开始从上往下依次编号1-n。当至少还有两张牌的时候进行以下操作
* 把第一张牌扔掉,然后把新的第一张牌放到整碟牌的最后。
* 输入n,输出每次扔掉的牌,以及最后剩下的牌。
* 样例输入:7
* 样例输出:1 3 5 7 4 2 6
* */
import java.util.LinkedList;
import java.util.Scanner;

public class CardGame {

public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int n;
LinkedList<Integer>ll ;
while(sc.hasNext()){
n = sc.nextInt();
ll = new LinkedList<Integer>();
for(int i = 0;i<n;i++){
ll.addLast(i+1);//初始化队列
}
while(!ll.isEmpty()){
System.out.println(ll.getFirst()); // 打印队首元素
ll.removeFirst();//抛弃队首元素
ll.addLast(ll.peekFirst());//把队首元素加入队尾
ll.removeFirst();//抛弃队首元素
}
}
}

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: