哦,親愛的;我似乎誤解了這一點。分裂鏈表多次放入堆棧溢出C++
我想分割一個單鏈表10,000次,但很明顯(在你們幫助我之前我不知道這個),它會導致堆棧溢出。
我真的很陌生,所以有什麼辦法可以做到這一點,而不會導致堆棧溢出?使用引用或其他?
這裏的方法:
Node* Node::Split()
{
if(next == NULL)
{
return this;
}
Node *newNode = this->next;
if(this->next != NULL)
{
this->next = newNode->next;
}
if(newNode->next != NULL)
{
newNode->next = newNode->next->Split();
}
return newNode;
}
堆棧溢出是深層遞歸。迭代地而不是遞歸地進行分裂,你會沒事的。 – 2011-04-30 22:23:53
在這條線周圍的一個while循環? – 2011-04-30 22:31:28
@ Tomalak_Geret'kal對不起忘了標記 – 2011-04-30 22:32:00