我正在編寫一些代碼,我需要將一個節點添加到雙向鏈表中。這是我到目前爲止的代碼:在雙向鏈表中添加一個節點
Node tempNext = cursor.getNext();
temp = new Node(item, null, cursor, tempNext);
tempNext.setPrev(temp);
哪裏cursor
是正確的之前在新添加的節點應該去的節點。
如何設置其他節點以正確維護雙向鏈表的狀態?
我正在編寫一些代碼,我需要將一個節點添加到雙向鏈表中。這是我到目前爲止的代碼:在雙向鏈表中添加一個節點
Node tempNext = cursor.getNext();
temp = new Node(item, null, cursor, tempNext);
tempNext.setPrev(temp);
哪裏cursor
是正確的之前在新添加的節點應該去的節點。
如何設置其他節點以正確維護雙向鏈表的狀態?
寫有意義的變量名稱將永遠幫助你,永遠不會使用名字,如溫度*:
protected void insertNodeAfter(Node currentNode, Node newNode) {
Node displacedNode = currentNode.getNext();
currentNode.setNext(newNode);
newNode.setNext(displacedNode)
displacedNode.setPrev(newNode);
newNode.setPrev(currentNode);
}
-1用功能代碼回答作業問題。 – 2010-03-22 18:50:55
你是對的比爾,我應得的。 – rodrigoap 2010-03-22 18:56:26
@BillK查看常見問題。如果清楚地闡述了作業問題,並且可以作爲其他人的有用參考資料,那麼這些問題就不存在了。 – 2013-03-09 23:13:04
好像所有你需要補充的是
cursor.setNext(temp);
你有一個具體的問題?
所以: 節點tempNext = cursor.getNext(); temp = new Node(item,null,cursor,tempNext); \t \t \t \t \t \t tempNext.setPrev(temp); \t \t \t \t \t \t cursor.setNext(temp); 將成功添加節點到鏈接列表是否正確? – 2010-03-22 18:20:14
它應該假設您正在使用的Node構造函數正確設置新節點的下一個和前一個節點。另外,@ rodrigoap對於有意義的變量名是絕對正確的。 – 2010-03-22 18:33:43
public void addItemBefore(int info)
{
previousItem = new ListItem(previousItem, info, this);
}
目前尚不清楚你的問題是什麼。我根據你接受下面的答案,用猜測編輯它。 – 2013-03-09 23:09:44