我有一些概率增加一个新的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