C言語なら俺に聞け(入門篇) Part 20 at TECH
[2ch|▼Menu]
98:デフォルトの名無しさん
07/10/16 20:02:52
>>87

marge関数内ではdata1[],data2[]は読み込みしかしていないから
>merge_sort(samp_left,cut,data2);
>merge_sort(samp_right,n - cut ,data2);

merge_sort(data1,cut,samp_left);
merge_sort(data1 + cut,n - cut ,samp_right);
としてもいいと思う。
(merge関数がブラックボックスなら宣言にconstついてない時点で却下だけど)

あとC言語だと配列宣言時の要素数指定に変数が使えないから
>int samp_left[cut],samp_right[n - cut];
はだめだと(C++では通ってしまう)
int *samp_left,*samp_right;
samp_left = malloc(cut*sizeofint));
samp_right = malloc((n-cut)*sizeofint));
として当然merge呼び出した後
free(samp_left);free(samp_right);
とする。


次ページ
続きを表示
1を表示
最新レス表示
スレッドの検索
類似スレ一覧
話題のニュース
おまかせリスト
▼オプションを表示
暇つぶし2ch

5264日前に更新/251 KB
担当:undef