0
private ArrayQueue<E> merge(ArrayQueue<E> q1, ArrayQueue<E> q2) throws ArrayQueueException
{
ArrayQueue<E> mergeQueue = new ArrayQueue<E>(q1.size() + q2.size());
ArrayQueue<E> smallestQueue = smallestQueue(q1, q2);
ArrayQueue<E> biggestQueue = biggestQueue(q1, q2);
for (int index = 0; index < smallestQueue.size(); index++)
{
E elementOne = smallestQueue.dequeue();
E elementTwo = biggestQueue.dequeue();
if (elementOne.compareTo(elementTwo) < 0)
{
mergeQueue.enqueue(elementOne);
mergeQueue.enqueue(elementTwo);
}
else
{
mergeQueue.enqueue(elementTwo);
mergeQueue.enqueue(elementOne);
}
}
for (int index = 0; index < biggestQueue.size(); index++)
{
mergeQueue.enqueue(biggestQueue.dequeue());
}
return (mergeQueue);
}
我一直在尝试一个练习,其中涉及到创建合并两个队列的方法。我的上面的尝试在两个队列都是相同大小的情况下工作,但是否则它是错误的。按特定顺序合并两个队列的方法
什么是最好的实施方式?
谢谢。
哪里是为ArrayQueue的Javadoc?这不是一个标准的Java类,所以我们没有javadoc就可以做的事情是猜测它是如何工作的。 – 2011-02-06 15:38:41