我有一些概率增加一個新的elment在我圓鏈表...當我嘗試添加的第一個...圓鏈表C++
if(empty() && pos ==1)
{
newnode = new Node(ele);
newnode->next = newnode;
last = newnode;
}
..我一個glibc的檢測:雙倍免費或腐敗(fasttop)...你知道爲什麼嗎?
這是因爲我必須指出自己的.next沒有?我該怎麼做才能指出我自己的缺點?
我有一些概率增加一個新的elment在我圓鏈表...當我嘗試添加的第一個...圓鏈表C++
if(empty() && pos ==1)
{
newnode = new Node(ele);
newnode->next = newnode;
last = newnode;
}
..我一個glibc的檢測:雙倍免費或腐敗(fasttop)...你知道爲什麼嗎?
這是因爲我必須指出自己的.next沒有?我該怎麼做才能指出我自己的缺點?
這應該是你的頂級節點,考慮它的空(),對吧?所以,你應該在這裏設置你的LL頭節點。而且,在你的代碼中,你正在設置節點的下一個節點。您應該:
currentNode->Next = new Node();
lastNode = currentNode;
在您的頭節點設置後執行此操作。
之後?節點* elem; elem newnode =新節點(ele); – Roots 2011-02-12 21:48:59
使用循環鏈表的主要原因是簡化。
爲此,您應該始終(使用循環列表)使用標頭節點。
對於一個空的循環列表,標題節點被鏈接回自己,並且是列表的永久部分,它不會攜帶任何數據,除非在某些情況下是一個標記值。
使用標頭節點時,插入第一個節點與插入第二個或第三個完全相同的代碼相同。
所以,請試試看。
乾杯&心連心,
雙人自由意味着什麼被釋放。 – 2011-02-12 21:34:19