添加代码以使用签名实现insertAtPosition

时间:2013-04-24 21:49:20

标签: insert

我来找你寻求帮助,因为我已经阻止了道路,并且在我正在完成的实验室中无法通过这一步......这部分我有点困惑,并希望有人可以就如何给我一些建议继续。

添加代码以使用签名

实现insertAtPosition

public 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();
}

}

0 个答案:

没有答案