我来找你寻求帮助,因为我已经阻止了道路,并且在我正在完成的实验室中无法通过这一步......这部分我有点困惑,并希望有人可以就如何给我一些建议继续。
添加代码以使用签名
实现insertAtPositionpublic void insertAtPosition(Object what,int insertPosition);
此方法在指定位置插入“what”项。该位置后面的元素在+1方向上移动一个位置,以便为新元素腾出空间。只应在已经占用的位置插入项目,除非在刚填充的位置之后的位置插入元素是合法的(如果没有项目则在零位置)。请注意,对于链接列表,元素在逻辑上“移动”位置但不会物理移动。
并且帮助会被摧毁!!!
编辑::::
所以我把这些代码放在一起,它正在通过我做的一些测试..但我不相信这是最有效的方法。你们会改变什么吗?
public void insertAtPosition(Object theObject, int atPosition){
if(itemCount < atPosition){
return;
}
if(atPosition == 0){
LinkBox oneAfterInsert = headOfList;
headOfList = new LinkBox(theObject, oneAfterInsert);
itemCount++;
return;
}
LinkBox end = headOfList;
for (int position = 0; position < itemCount; position++) {
if (position == atPosition-1){
LinkBox oneAfterInsert = end.getNext();
LinkBox insertThis = new LinkBox(theObject, oneAfterInsert);
end.setNext(insertThis);
itemCount++;
}
end = end.getNext();
}
}