4

私は現在、マージソートアルゴリズムに取り組んでいます。私には3つの機能があります。list_sort_merge、mergelist、および splitlist。list_sort_merge は他の 2 つを呼び出して、リストを分割およびマージします。これを正しく機能させるのに問題があります。したがって、GDB を実行すると、次の例のように、分割関数を使用して各数値を取得することになります。

427
42.7
4.2.7

その後、マージソートが行われ、セグメンテーション違反が発生します。right_list と left_list が mergesort に渡されていません。つまり、mergesort が関数 comp_proc で比較する場合、両方とも NULL であると表示されます。

問題は分割機能にあると思います。

ここで私が間違っていることを誰かが見ることができますか?

4

2 に答える 2