通过奇偶数的轮换实现首尾交替出队。
注意:
①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++; //实现奇偶轮换
}
}
}

京公网安备 11010502036488号