私は通常のマージソート配列コードを書きましたが、これは 関数を 'asize'で、数値ではなく受信する代わりに '1 2 3 4 5 6 7 8 9 10] 私は [-858993460 1 2 3 4 5 6 7 8 9得る定期的なソートされた配列]間違ったマージソート結果
あなたがステップオーバーしている。この
void merge_sort(int *a,int first, int last)
{
int middle;
if(first < last)
{
middle=(first+last)/2;
merge_sort(a,first,middle);
merge_sort(a,middle+1,last);
merge(a,first,middle,last);
}
}
void main()
{
int a[] = {9, 7, 2, 3, 5, 4, 1, 8, 6, 10};
int asize= (sizeof a/sizeof a[0]);
merge_sort(a, 0, asize);
For (i = 0; i < 10; i++)
printf ("%d ", a[i]);
あなたはなぜexplianしてくださいすることができ、私は道で、あそこ
簡単に修正:-)来てはいけない、変更することがありますか? – Alexxx