我必须删除链表中的当前节点,该游标被分配给所以光标代表我当前的节点。删除当前节点或游标后,应将光标分配给刚刚删除的节点后的节点。我删除了节点,但我不明白如何将光标分配给后面的节点。
编辑:我想使用游标作为当前节点的引用,所以我想将游标分配或设置到节点3.所以一旦删除节点2并将节点1的链接设置为节点3,游标应分配给节点3,节点3将是光标所代表的当前节点。
Cursor Cursor
[1] -> [2] -> [3] Result should be this: [1] -> [3]
|
Removing
这是我做过的事情: for循环遍历列表,它在光标之前停止,因此它获取光标之前的节点prevCursor。然后,在删除的节点将光标之前的节点链接到删除的节点之后的节点之后,我将prevCursor设置为节点的链接。
public boolean removeCurrentNode()
{
AirportNode prevCursor = null;
if(cursor != null)
{
for(prevCursor = head; prevCursor != cursor; prevCursor = prevCursor.getNext())
{
}
prevCursor.setNext(prevCursor.getNext().getNext());
}
答案 0 :(得分:0)
假设您已经在此列表中的节点2处:1 - > 2 - > 3 - >空
如果此时“光标”指向节点2,并且您要删除节点2,则
将下一个元素(节点3)复制到“光标”位置。
cursor.data = cursor.next == null ? null : cursor.next.data
将“光标”指向下一个
旁边的if(cursor.next != null) {
cursor.next = cursor.next.next
}