所以我尝试通过完成实现来实现 SLList 类:
get(i)、set(i, x)、add(i, x)和remove(i)操作,每个操作都需要 O(1 + i) 时间。
我的程序遇到的困难是添加和获取方法。我不断收到错误incompatible types: SLList<T>.Node cannot be converted to int,而且incompatible types: SLList<T>.Node cannot be converted to int。
我对如何修复它们感到非常困惑。我今天刚刚了解了链表,我正在努力理解它们的概念。任何帮助或提示将非常感激。
public T get(int i) {
// TODO: Implement this
Node u = head;
for(int j = 0; j < i; j++){
i = u.next;
}
return u;
if (i < 0 || i > n - 1) throw new IndexOutOfBoundsException();
return null;
}
public void add(int i, T x) {
Node u = new Node();
u.x = x;
if (i == 0) {
head = u;
} else {
tail.next = u;
}
tail = u;
i++;
return true;
if (i < 0 || i > n) throw new IndexOutOfBoundsException();
}
我应该提到每个函数 T 和 void 的类型必须保持原样。我还相信我应该在代码中包含 IndexOutOfBoundsException 部分。
如果你们想查看我的完整代码,请访问:https://pastebin.com/nJ9iMjxj
潇湘沐
慕虎7371278
相关分类