我正在为一门在线课程做编程作业。我提交了作业,并收到了成绩以及他们执行的测试日志。在那份日志中,我看到了这个:
测试 9:在同一随机队列上创建两个嵌套迭代器
n = 10 - 两个内部迭代器返回相同的项目序列 - 它们应返回相同的项目集,但顺序不同...
我还看到一条类似的消息,将“嵌套”替换为“并行”。
我的类迭代器的代码如下所示:
public Iterator<Item> iterator() { return new RandomizedQueueIterator(); }
private class RandomizedQueueIterator implements Iterator<Item> {
private int start = head;
public boolean hasNext() { return start < tail; }
public Item next() {
if (start == tail)
throw new NoSuchElementException();
return a[start++];
}
public void remove() { throw new UnsupportedOperationException(); }
}
其中 是指向队列数据结构顶部的当前元素的指针, 是队列数据结构末尾的当前元素。headtail
该课程提供的代码(Sedgewick的算法I)只为我们提供了有关如何执行上述操作的信息,仅此而已。
任何帮助将不胜感激。谢谢。
隔江千里
相关分类