如何在java中有效地删除堆栈的下半部分元素?

szqfcxe2  于 2021-07-06  发布在  Java
关注(0)|答案(2)|浏览(382)

如何在java中设计一种有效的方法来删除堆栈中的下半部分元素?例如:我的堆栈是:(1,2,3,4,5,6)。输出为4、5、6。另一个输入为(1,2,3,4,5,6,7,8,9,10,11)的示例。输出将从6到11。

c90pui9n

c90pui9n1#

如果在堆栈中有元素计数,则只需弹出前半部分,然后打印下半部分(如果不想丢失元素,请将其推到另一个堆栈)
如果堆栈中没有元素计数,则需要创建另一个堆栈(比如stack2),从stack1中弹出元素并推送到stack2,然后保留元素计数。
一旦得到计数,从stack2弹出元素并推入stack1,只打印从stack2弹出的前半个元素。

oymdgrw7

oymdgrw72#

您可以这样做:

int center = stack1.size() / 2;
//Remove the half
int counter = 0;
for(int i=0; counter<center;counter++) {
    stack1.remove(i);
}

相关问题