通过奇偶数的轮换实现首尾交替出队。

注意:

①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++;  //实现奇偶轮换
        }

    }
}