首先找到第i个元素,然后改变它的引用即可。
@Override
public void update(int i, T dest) {
//经过前面的说明,i从1开始
if(i<1 || i>size)
try {
throw new Exception(i +"iserror");
} catch (Exception e) {
// TODO Auto-generatedcatch block
e.printStackTrace();
}
//将指针移动到第i个元素
Node pointer = head;
for(int j=0;j<i;j++)
pointer=pointer.next;
//更新data域
pointer.data = dest;
}
@Override
public T search(int i) {
//经过前面的说明,i从1开始
if(i<1 || i>size)
try {
throw new Exception(i +"is error");
} catch (Exception e) {
// TODO Auto-generatedcatch block
e.printStackTrace();
}
//将指针移动到第i个元素
Node pointer = head;
for(int j=0;j<i;j++)
pointer=pointer.next;
//更新data域
return pointer.data;
}
为了编写正确的代码,我经常是写好后立刻测试一下。如果有问题,再修正代码。然后在测试。直到测试用例通过为止。
@Override
public int size() {
return size;
}
@Override
public boolean isEmpty() {
if(size()==0)
return true;
else
return false;
}