-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も見なければなりません。 –
はい私はリンクされたリストを使用する必要があります。そして私はその機能を下に置きます。 –