>>148
4回目でMergeSort(x, left, mid); これに0,0入れてますよね?
最初に0,9を入れてMergeSortを呼び出して mid=(left+right)/2
0 9
0 4
0 2
0 1
0 0

if (left >= right) return;
つまり 0>=0でreturnなんですが
このreturnを実行したらどうなるのでしょうか?
0 1が返されるのでしょうか?
このreturnがどこに返されるのかがわかりません
0 1を返してまた実行すると mid=(left+right)/2で mid=0
MergeSort(x, mid + 1, right); /* 右を再帰呼び出し */
ここに入れる?わかりませんが 1 1と呼び出す いまいちわかりません
具体的に流れを教えてくれる方はいませんか?