修改迭代器以按接收元素的顺序显示元素
Modifying Iterator to Display the Elements in the Order they were Received
我在按输入顺序打印元素时遇到困难。我的程序正在读取 .txt 文件。
我正在使用队列来存储我认为是 FIFO 的元素。但是当我 运行 我的程序时,我以相反的顺序获取元素。我以为我会尝试优先队列,但我得到的是按字母顺序排列的顺序。
如果有人有任何想法或指示,我应该去寻找答案,我将不胜感激。谢谢
public Iterable<Key> keys()
{
Queue<Key> queue = new Queue<Key>();
for (Node x = first; x != null; x = x.next)
queue.enqueue(x.key);
return queue;
}
使用队列的poll()方法应该return头元素先进先出
import java.util.*;
public class ReturnQueue
{
public static void main(String[] args)
{
Queue<Integer> myQueue = new LinkedList<Integer>();
myQueue.add(12);
myQueue.add(8);
myQueue.add(9);
myQueue.add(10);
for (int i = 0; i < 4; i++)
System.out.println(myQueue.poll());
}
}
这个 returns 12 8 9 10 在不同的行上,按照它们被添加的顺序。
我在按输入顺序打印元素时遇到困难。我的程序正在读取 .txt 文件。
我正在使用队列来存储我认为是 FIFO 的元素。但是当我 运行 我的程序时,我以相反的顺序获取元素。我以为我会尝试优先队列,但我得到的是按字母顺序排列的顺序。
如果有人有任何想法或指示,我应该去寻找答案,我将不胜感激。谢谢
public Iterable<Key> keys()
{
Queue<Key> queue = new Queue<Key>();
for (Node x = first; x != null; x = x.next)
queue.enqueue(x.key);
return queue;
}
使用队列的poll()方法应该return头元素先进先出
import java.util.*;
public class ReturnQueue
{
public static void main(String[] args)
{
Queue<Integer> myQueue = new LinkedList<Integer>();
myQueue.add(12);
myQueue.add(8);
myQueue.add(9);
myQueue.add(10);
for (int i = 0; i < 4; i++)
System.out.println(myQueue.poll());
}
}
这个 returns 12 8 9 10 在不同的行上,按照它们被添加的顺序。