C言語なら俺に聞け(入門篇) Part 20 at TECH
[2ch|▼Menu]
89:デフォルトの名無しさん
07/10/16 17:27:20
>>87
とりあえずぱっと見ておかしいところ……

>void merge_sort(int data1, int n, int data2)
data1とdata2は配列だから、int data1[]とかint *data2とかやらないと。

>for( i = cut ; i > n ; i++ )
継続条件の不等号が逆だと思う
>samp_right[i]=data1[i];
iがcutから始まってるから、samp_rightの添え字がずれちゃうね
足し引きして調整しないと
>meege_sort(samp_left,cut,data2);
>merge_sort(samp_right,n - cut ,data2);
merge_sortの第三引数は結果を受け取る変数だから、
双方ともにdata2に受け取ったら上書きされちゃうと思う。
meege_sort(samp_left,cut,samp_left);みたいにして同じ配列で受け取るか、
sorted_leftとかの配列を新たに宣言して、それを第三引数に指定すべき。

>merge(samp_left,cut,samp_right,(n - cut),data2);
もしsorted_leftとかを新たに作るんだったら、ここの引数も直す
そうでないならこのままでいい

大筋としては特に考え方が間違ったりはしてないと思うよ
今は携帯だからこれ以上無理


>>88
丸投げしたいわけでもないみたいだし、いんじゃね
何で宿題スレのテンプレ使ってるのか知らんけど


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

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