[英]Adding an element to the first empty array's index
我创建了一个大小为x的数组。 并想向数组中的第一个空索引添加元素,例如,如果数组的大小为10并且采用了索引1和2,则该元素将添加到索引3中。
创建大小为x的数组。
创建一个大小为x的堆栈,该堆栈指示所有可用索引。 将所有索引(按相反顺序)推入堆栈。
当您尝试将元素添加到数组时,从堆栈弹出的下一个空闲索引。 使用索引插入到数组。
如果删除了元素,则将索引推回堆栈以指示它是空闲的,并使数组中的元素无效。
如果您想添加一个元素并且堆栈为空,即数组已满,那么您可以决定要做什么。
您的另一个选择是遍历数组以找到下一个“空”点,该点将由null表示。
如果数组是int
数组,则可以执行
for(int i=0; i < array.length; i++)
if(array[i] == 0) {
array[i] = newValue;
break;
}
如果它是一个Object
数组,你可以做
for(int i = 0; i < array.length; i++)
if(array[i] == null) {
array[i] = newObject;
break;
}
遍历数组,直到找到零/空。 例如,
int a[] = new int[100];
int x; //Number to be inserted
for(int i=0;i<a.length;i++)
{
if(a[i]==0)
a[i]=x;
}
object a[] = new object[100];
int x;
for(int i=0;i<a.length;i++)
{
if(a[i]==null)
a[i]= new Integer(x);
}
在上面的响应中,在找到第一个空索引之后,没有for循环的提前终止。 为避免填充所有空索引,请在条件语句中添加一个break语句。
for(int i = 0; i < array.length; i++)
{
if(array[i] == null)
{
array[i] = newObject;
break;
}
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.