java中删除队列中的元素
编写publicstaticvoidremove(Queueq,int[]pos,int k)方法,该方法删除位于pos中指示位置的q的所有元素(k是pos的大小)。假设pos按递增顺序排序,没有重复项,并且只包含有效的位置。位置编号从头部的0开始。该方法必须在O(n)中运行,其中n是q的大小(不是O(kn))。java中删除队列中的元素,java,data-structures,queue,Java,Data Structures,Queue,编写publicstaticvoidremove(Queueq,int[]pos,int k)方法,该方法删除位于pos中指示位置的q的所有元素(k是pos的大小)。假设pos按递增顺序排序,没有重复项,并且只包含有效的位置。位置编号从头部的0开始。该方法必须在O(n)中运行,其中n是q的大小(不是O(kn))。 示例:如果q:A、B、C、D、E、F、G、H和pos:1、2、5,那么在调用remove(q、pos、3)之后,q变成A、D、E、G、H。如果您使用任何链接列表实现队列,这是非常容易的
示例:如果q:A、B、C、D、E、F、G、H和pos:1、2、5,那么在调用remove(q、pos、3)之后,q变成A、D、E、G、H。如果您使用任何链接列表实现队列,这是非常容易的。 当您将这个问题标记为“java”时,您可以使用
java.util.ArrayList
看起来,这是一个家庭作业问题,是否允许使用额外的空间?您应该使用链表来实现,您不需要任何额外的空间。这是一个家庭作业问题。
java.util.ArrayList
不是链表。