【发布时间】:2014-10-13 12:41:06
【问题描述】:
我正在使用Queue<T> q1,并且我知道将在队列末尾使用q1.offer(); 添加一个元素。但是现在,我想做的是在队列前面添加一个元素,而队列是不可能的。我能想到的可能方法是
- 使用双端队列,我可以在前面和末尾添加元素。
- 反转q1,将元素添加到队列末尾并再次反转。
现在,作为一个非程序员,我不确定如何编写这些方法;哪个更经济,更容易做。
我在 1) 中遇到的问题是将现有 Queue 转换为 Deque,反之亦然;以及 2) 如何使用Collections.reverseOrder(); 来反转现有队列。
【问题讨论】:
-
如果数据结构X满足你的要求,为什么还要使用数据结构Y?
-
你可以使用优先队列。 stackoverflow.com/questions/683041/…