Java 单链表-获取和添加方法
因此,我试图通过完成以下实现来实现一个SLList类:Java 单链表-获取和添加方法,java,node.js,linked-list,queue,singly-linked-list,Java,Node.js,Linked List,Queue,Singly Linked List,因此,我试图通过完成以下实现来实现一个SLList类: get(i),set(i,x),add(i,x)和remove(i)操作,每个操作都在O(1+i)时间内运行 我在程序中遇到的困难是add和get方法。我不断收到错误不兼容类型:SLList。节点无法转换为int,并且不兼容类型:SLList。节点无法转换为int 我对如何修理它们感到很困惑。我今天刚刚学习了链表,我正在努力理解链表的概念。任何帮助或提示都将不胜感激 public T get(int i) { // TODO: Im
get(i)
,set(i,x)
,add(i,x)
和remove(i)
操作,每个操作都在O(1+i)时间内运行
我在程序中遇到的困难是add和get方法。我不断收到错误不兼容类型:SLList。节点无法转换为int
,并且不兼容类型:SLList。节点无法转换为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();
}
publictget(inti){
//TODO:实现这一点
节点u=头部;
对于(int j=0;jn-1)抛出新的IndexOutOfBoundsException();
返回null;
}
公共无效添加(int i,T x){
节点u=新节点();
u、 x=x;
如果(i==0){
水头=u;
}否则{
tail.next=u;
}
尾=u;
i++;
返回true;
如果(i<0 | | i>n)抛出新的IndexOutOfBoundsException();
}
我应该提到每个函数的类型T和void必须保持原样。我还认为我应该在代码中包含IndexOutOfBoundsException部分
如果你们想在这里看到我的完整代码:在
节点
类中,下一个
的类型是节点
,而在获取
方法中,将节点
分配给一个整数变量:
i=u.next代码>
我看不到您的整个实现,但我认为应该是u=u
在get
方法中,您试图将节点
分配给第5行的int
变量。相反,您应该编写u=u-next
您的get
方法返回节点,而不是T
。您的add
方法不应返回true
,因为它已声明为void
我可以查看您的节点
类吗?