なあ、再帰関数好きな人いる? パート3 [転載禁止]©2ch.net (914レス)
前次1-
抽出解除 レス栞

リロード規制です。10分ほどで解除するので、他のブラウザへ避難してください。
17: デフォルトの名無しさん [sage] 2015/11/28(土)21:52:35.40 ID:R0seH/nX(7/13)
書いたことはあるけど10年以上昔の話だな。
これは拾い物だけどクイックソートなんてこれだけのことだろ。

qsort [] = []
qsort (x:xs) = qsort (filter (< x) xs) ++ [x] ++ qsort (filter (>= x) xs)
221: uy ◆Qawu9.2l1E [sage] 2015/12/23(水)16:45:18.40 ID:uhnrlQdn(1)
>>219
ファーwwwwwwwwwwwwwwwwwwwwwwwwwww
268
(1): デフォルトの名無しさん [] 2015/12/26(土)18:13:42.40 ID:EXUTS9i+(2/10)
シェルスクリプトを証拠として使うのは笑ってしまうからやめろ
419
(2): デフォルトの名無しさん [] 2015/12/27(日)17:39:20.40 ID:9aquywWv(16/33)
>>417
ループを書く場合、一方の再帰呼び出しは末尾再帰だから
単純なループに置き換えられるよねってことだから、もはや再帰関数とは呼ばないよ。
555: NAS6 ◆n3AmnVhjwc [] 2016/01/04(月)18:55:15.40 ID:7uWOp/tU(7/14)
recHoge1(term,arg...){
 dobefore()...
 if(term)recHoge1(term,arg...);
}
loopHoge1(term,arg...){
 while(term){
  dobefore()...
 }
}
再帰は無意味、使う必要なし
recHoge2(term,arg...){
 dobefore()...
 if(term)recHoge2(term,arg...);
 doafter()...
}
loopHoge2(term,arg...){
 while(term){
  pushargstack();
  dobefore()...
  if(term)continue;
  popargstack();
  doafter()...
 }
}
再帰で有意味、この場合使える
pushargstack(); popargstack();
ユーザー定義のこれらはめんどくさいから、再帰関数使ってコンパイラ任せにするよ
たったこれだけの内容 、勘違い訂正
562: デフォルトの名無しさん [] 2016/01/04(月)22:23:59.40 ID:JpzJLk3f(1)
熱烈なC++アンチって速度要求される場面に出会ったことがないんだろな
もしくはフォートラン信者なんだろな
584: デフォルトの名無しさん [sage] 2016/01/05(火)23:45:47.40 ID:zRwuHMxA(1)
そうだね、グリーンだね。

任意の再帰はスタックを使えばループに書き直せるし、任意のループは末尾再帰で書き表せるけど
書きやすい方で書いたら良いんじゃない?
配列を舐めるだけのループをわざわざ再帰で書く必要はないし、
二分木を舐めるだけの再帰をわざわざループで書く必要はない。
勿論例外は幾つもあるけどね。
586: デフォルトの名無しさん [sage] 2016/01/06(水)01:26:34.40 ID:2plodUsJ(1)
>>585
語彙少なすぎだろ
732: デフォルトの名無しさん [sage] 2016/07/26(火)07:14:06.40 ID:HN1KCMsQ(3/3)
Javaの例外の発生源を探すのにも使った
前次1-
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル

ぬこの手 ぬこTOP 0.040s