java删除ArrayList中最右边的元素
我想删除列表中最右边的一半,但这段代码有时是可以的,其他时间则不行
如果l包含A → B → C → D → E
,那么在调用
l.removeRightmostHalf()
,l变成{
public void removeRightmostHalf() {
if (size % 2 != 0)
{
current = (size / 2) + 1;
while(current <= size)
{
for (int i = current + 1; i < size; i++)
nodes[i-1] = nodes[i];
size--;
if (size == 0)
current = -1;
else if (current == size)
current = 0;
}
}
else
{
current = (size / 2);
while(current <= size)
{
for (int i = current + 1; i < size; i++)
nodes[i-1] = nodes[i];
size--;
if (size == 0)
current = -1;
else if (current == size)
current = 0;
}
}
}
共 (0) 个答案