-1
我在這裏有一個遞歸函數,但它導致溢出錯誤,所以我需要將其更改爲非遞歸函數。任何幫助如何做到這一點將不勝感激!轉換遞歸函數
void MergeSort(struct node** headRef)
{
node* head = *headRef;
node* a;
node* b;
if ((head == NULL) || (head->next == NULL))
{
return;
}
FrontBackSplit(head, &a, &b);
MergeSort(&a);
MergeSort(&b);
*headRef = SortedMerge(a, b);
}
你研究過嗎? –
這是一個學術問題嗎?否則,您可以在標準容器上使用STL'sort'。如果你喜歡這個鏈表實現,我們也需要看到'FrontBackSplit',我想,分析。 –
是的,我必須使用鏈表。我把這個功能放在下面。 –