トップページ > プログラム > 2015年08月13日 > Iax2S8IU

書き込み順位&時間帯一覧

7 位/150 ID中時間01234567891011121314151617181920212223Total
書き込み数0000000011210000100000006



使用した名前一覧書き込んだスレッド一覧
デフォルトの名無しさん
なあ、再帰関数好きな人いる? [転載禁止]©2ch.net

書き込みレス一覧

なあ、再帰関数好きな人いる? [転載禁止]©2ch.net
159 :デフォルトの名無しさん[sage]:2015/08/13(木) 08:21:16.88 ID:Iax2S8IU
>>157
実用的なクイックソートはループ。

まさか再帰でしか実現できないなんて考えとるんか?
なあ、再帰関数好きな人いる? [転載禁止]©2ch.net
161 :デフォルトの名無しさん[sage]:2015/08/13(木) 09:30:01.18 ID:Iax2S8IU
ループ方式も可読性は高い。
特別なことはやらないから、誰でもすぐ実現できるはず。

Cどころか昔のVBのようなへぼ環境でも
何百万ものデータを高速にソートできてしまう。
なあ、再帰関数好きな人いる? [転載禁止]©2ch.net
168 :デフォルトの名無しさん[sage]:2015/08/13(木) 10:30:37.05 ID:Iax2S8IU
可読性が悪いかどうかじゃなく、
再帰の場合よりも良くなくてはいけないと?

理解困難なコードでなく実用性があるのなら採用するでしょ。

プログラマはソート処理のコードは使いまわして
比較関数を用意すればいいだけだし。
なあ、再帰関数好きな人いる? [転載禁止]©2ch.net
175 :デフォルトの名無しさん[sage]:2015/08/13(木) 10:47:32.08 ID:Iax2S8IU
>このソース要素数が一定以上の場合、どうやらquicksortしない仕様で、

何言っとるんだ?
なあ、再帰関数好きな人いる? [転載禁止]©2ch.net
183 :デフォルトの名無しさん[sage]:2015/08/13(木) 11:01:18.21 ID:Iax2S8IU
>stack_node stack[STACK_SIZE]が溢れますね。


これは指定の番号のデータが、ソート結果として
第何番目になるかを出力させるといい。

つまり順番に数値を格納した配列を用意して
その要素をクイックソートの置き換え処理の対象にさせる。
また、比較関数もこれに対応したものを用意する。

この方式なら
int stack[STACK_SIZE]
を用意すればいいので、件数は多くても
メモリ消費量はそんなに必要にならない。
なあ、再帰関数好きな人いる? [転載禁止]©2ch.net
228 :デフォルトの名無しさん[sage]:2015/08/13(木) 16:00:20.34 ID:Iax2S8IU
仮想関数は自己満足じゃないぞ。

実用的なプログラミング手法


※このページは、『2ちゃんねる』の書き込みを基に自動生成したものです。オリジナルはリンク先の2ちゃんねるの書き込みです。
※このサイトでオリジナルの書き込みについては対応できません。
※何か問題のある場合はメールをしてください。対応します。