在java中复制队列元素

在java中复制队列元素,java,data-structures,queue,priority-queue,Java,Data Structures,Queue,Priority Queue,编写一个名为doubleQueue的函数,该函数接受对整数队列的引用作为参数 并将每个元素替换为其自身的两个副本 例如,如果名为q的队列存储{11,12,13},则doubleQueueq的调用;应该将其更改为存储{11,11,12,12,13,13} 限制:不要使用任何辅助集合作为存储。一种方法是复制队列,然后将其与原始队列合并。 如果队列是使用linkedList实现的,则可以使用克隆创建浅层副本,然后将其与原始副本合并 或者,您可以使用linkedList创建一个数组,然后将数组附加到li

编写一个名为doubleQueue的函数,该函数接受对整数队列的引用作为参数 并将每个元素替换为其自身的两个副本

例如,如果名为q的队列存储{11,12,13},则doubleQueueq的调用;应该将其更改为存储{11,11,12,12,13,13}


限制:不要使用任何辅助集合作为存储。

一种方法是复制队列,然后将其与原始队列合并。 如果队列是使用linkedList实现的,则可以使用克隆创建浅层副本,然后将其与原始副本合并


或者,您可以使用linkedList创建一个数组,然后将数组附加到linkedList的末尾,然后对linkedList进行排序,或者将整个数组转换为数组,然后对数组进行排序,然后再转换回linkedList。

在不使用任何辅助集合的情况下,队列需要是linkedList。然后,您可以向后遍历它,并将每个元素添加到其前面

导入java.util.Queue; 导入java.util.LinkedList; 导入java.lang.RuntimeException; 班长{ 公共静态无效字符串[]args{ Queue Queue=新建链接列表; queue.add1; queue.add2; queue.add3; 双队列; System.out.printlnqueue; } 公共静态无效双队列{ 如果!LinkedList的队列实例 throw new RuntimeExceptionQueue需要为LinkedList类型。; LinkedList=LinkedList队列; 对于int i=list.size;i>0;i-{ list.addi,list.geti-1; } } }
问题指定您不能将其他集合用作存储帮助。这是唯一的方法吗?