我有一个数组[8],freeindex=0。如何将数组中的所有值向上添加一个位置,并向最后一个位置添加新值?最简单的答案是
amuletHolder[8] = amuletHolder[7];
amuletHolder[7] = amuletHolder[6];
amuletHolder[6] = amuletHolder[5];
amuletHolder[5] = amuletHolder[4];
amuletHolder[4] = amuletHolder[3];
amuletHolder[3] = amuletHolder[2];
amuletHolder[2] = amuletHolder[1];
如何将新值添加到底部?
2条答案
按热度按时间oxcyiej71#
你需要数组有什么原因吗?
linkedlist内置了很多这样的功能,可以非常动态地执行如下操作:
或者如果你严格按照先进先出的原则排队会更好
编辑:但是如果你真的需要一个数组并且需要保持[0]为空,我认为你的数组没有问题。它确实比其他人建议的循环使用了更多的行,但是如果只有8个元素,它就没有意义了。
若要添加新项并保留[0]为空,只需添加
array[1]=newItem;
```array[7]=array[6];
array[6]=array[5];
array[5]=array[4];
array[4]=array[3];
array[3]=array[2];
array[2]=array[1];
array[1]=newItem;
for(int i=7;i>1;i--){
array[i]=array[i-1];
}
array[1]=newItem;
hsvhsicv2#
使用for循环:
旁注:如果数组长度为8,则有效索引为0-7。代码将在第一行抛出arrayindexoutofboundsexception。