[英]Removing a node from a double linked list?
Here's the method up to now 到目前为止的方法
public DNode removeDnode(DNode v, DNode e, DNode f)
{
e = v.nextNode();
f = v.prevNode();
f.setNext() = e;
e.setPrev() = f;
v.setPrev(null);
v.setNext(null);
size = size - 1;
return v;
}
Here's my node class 这是我的节点类
public class DNode
{
public String element;
public DNode next;
public DNode previous;
public DNode(String e, DNode n)
{
element = e;
next = n;
}
public void setElement(String newElem)
{
element = newElem;
}
public void setNext(DNode newNext)
{
next = newNext;
}
public void setPrev(DNode newPrev)
{
previous = newPrev;
}
public String getElement()
{
return element;
}
public DNode nextNode()
{
return next;
}
public DNode prevNode()
{
return previous;
}
}
I'm getting the error 'method setNext in class DNode cannot be applied to given types but I don't know why. 我收到错误消息“类DNode中的方法setNext无法应用于给定类型,但我不知道为什么。 Any help?
有什么帮助吗?
(Don't read this this is to use characters so it will let me post) (不要读这个,因为这是使用字符,所以我可以发帖)
EDIT: new method below 编辑:下面的新方法
public DNode removeDnode(DNode current)
{
DNode next = current.nextNode();
DNode previous = current.prevNode();
previous.setNext(next);
next.setPrev(previous);
current.setPrev(null);
current.setNext(null);
size = size - 1;
return current;
}
but how do I deal with the end and beginning of the list 但是我该如何处理列表的结尾和开头
You need to do: 您需要做:
f.setNext(e);
e.setPrev(f);
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.