通过奇偶数的轮换实现首尾交替出队。
注意:
①pollFirst()方法用于返回此双端队列表示的队列的第一个元素,但会从此双端队列中删除该元素。
②pollLast()方法用于返回此双端队列表示的队列的最后一个元素,但会从此双端队列中删除该元素。
由上可以推出:for(int i=0;i<list.size();i++)的方法不可行,因为list.size()始终在变化。
具体代码见下:
import java.util.ArrayDeque; import java.util.Scanner; public class Main { public static void main(String[] args) { ArrayDeque deque = new ArrayDeque(); Scanner scanner = new Scanner(System.in); while (scanner.hasNext()) { String name = scanner.next(); // 初始化队列中的数据 deque.offerLast(name); } // write your code here...... int i = 0; while (deque.size() != 0) { if (i % 2 == 0) { System.out.println(deque.pollFirst()); //pollFirst()方法用于返回此双端队列表示的队列的第一个元素 //但会从此双端队列中删除第一个元素 } else { System.out.println(deque.pollLast()); //pollLast()方法与pollFirst方法类似 } i++; //实现奇偶轮换 } } }