Поэтому я пытаюсь реализовать класс SLList, выполнив следующие реализации:
get(i)
, set(i, x)
, add(i, x)
и remove(i)
операций, каждая из которых выполняется в O (1 + i). Время
Моя программа борется с методами add и get. Я продолжаю получать ошибки 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