2 回答
TA贡献1803条经验 获得超3个赞
这个想法是从第一个元素到最后一个循环遍历数组,寻找第一次出现的 0。如果没有找到,则数组已满。如果这样做,请使用System.arraycopy将所有内容从 0 向右移动到标识的位置 1,然后在位置 0 处插入新元素。
public void addElementsToArray(int element){
for(int i=0; i<array.length; i++)
{
if(array[i] == 0)
{
System.arraycopy(array, 0, array, 1, i);
array[0] = element;
return;
}
}
throw new IllegalStateException("Array is full");
}
TA贡献1827条经验 获得超8个赞
出于您的目的,数组不是用户的最佳数据结构,而是使用队列。
LinkedList<Integer> q = new LinkedList<>(); // LinkedList implements Queue interface
q.addFirst(5); // will add element 5 at first position
q.addLast(6); // will add element 6 at lastposition
int f = q.pollFirst(); // will give element at first position
int l = q.pollLast(); // will give element at lastposition
int ele= q.get(0); // will give element at 0 index
Queue 用于在队列末尾插入元素并从队列开头删除元素。它遵循先进先出的概念。
添加回答
举报