有没有办法在调用enqueue函数后返回队列,以使返回的队列包含新元素,原始队列保持不变?
e.g。
ArrayList<T> result = new ArrayList<T>(list);
result.add(0, t);
return result;
这将返回一个新队列,但这种方法太慢了。 还有其他方法吗?也许是通过与原始队列共享结构?
主要问题是如何返回一个新队列(在将一个元素附加到队列之后)但不复制原始队列的其余部分。 (有没有办法引用它?)
e.g。 original_queue = [1 2 3 4 5]
call enqueue(6)应返回[1 2 3 4 5 6]
但original_queue = [1 2 3 4 5]