[過去ログ]
プログラミングのお題スレ Part13 (1002レス)
プログラミングのお題スレ Part13 http://mevius.5ch.net/test/read.cgi/tech/1549160513/
上
下
前次
1-
新
通常表示
512バイト分割
レス栞
抽出解除
レス栞
このスレッドは過去ログ倉庫に格納されています。
次スレ検索
歴削→次スレ
栞削→次スレ
過去ログメニュー
230: デフォルトの名無しさん [sage] 2019/02/16(土) 12:54:53.60 ID:8ZVYBrON お題:バブルソートを実装せよ http://mevius.5ch.net/test/read.cgi/tech/1549160513/230
231: デフォルトの名無しさん [sage] 2019/02/16(土) 15:04:36.49 ID:PD6v+6Vh >>230 Perl5 use feature qw{current_sub say}; sub bblsort { for (0..@_) { sub { if (@_ >= 2) { __SUB__->(@_[1..$#_]); ($_[1], $_[0]) = ($_[0], $_[1]) if $_[0] > $_[1] } }->(@_[$_..$#_]); } } use List::Util shuffle; @a = shuffle 1..20; say "1) @a"; bblsort @a; say "2) @a"; 実行結果 ~ $ perl 13_230_bblsort.pl 1) 13 6 18 7 15 1 11 8 20 16 14 4 9 10 12 17 2 19 5 3 2) 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 http://mevius.5ch.net/test/read.cgi/tech/1549160513/231
235: デフォルトの名無しさん [sage] 2019/02/16(土) 17:07:42.16 ID:cltO7Ts6 >>230 http://mevius.5ch.net/test/read.cgi/tech/1549160513/235
237: デフォルトの名無しさん [sage] 2019/02/16(土) 17:33:21.11 ID:PfkkbXxw >>230 Ruby def bs(ary) ary.tap do |a| (a.size**2).times do (a.size - 1).times do |i| a[i + 1], a[i] = a[i, 2] if a[i] > a[i + 1] end end end end p bs([3, 1, 4, 15, 92]) # => [1, 3, 4, 15, 92] >>232 sgn = -> n {n <=> 0} r4 = -> n {n.floor} r3 = -> n {-r4[-n]} r2 = -> n {sgn[n] * r3[n.abs]} r1 = -> n {sgn[n] * r4[n.abs]} [0.5, -1.1, 3].each{|i| puts 'x = %p => %p %p %p %p' % [i, r1[i], r2[i], r3[i], r4[i]]} # => x = 0.5 => 0 1 1 0 x = -1.1 => -1 -2 -1 -2 x = 3 => 3 3 3 3 http://mevius.5ch.net/test/read.cgi/tech/1549160513/237
278: デフォルトの名無しさん [sage] 2019/02/20(水) 23:51:29.53 ID:MUUM+ThN >>230 pike https://ideone.com/VZzxoA http://mevius.5ch.net/test/read.cgi/tech/1549160513/278
メモ帳
(0/65535文字)
上
下
前次
1-
新
書
関
写
板
覧
索
設
栞
歴
スレ情報
赤レス抽出
画像レス抽出
歴の未読スレ
AAサムネイル
Google検索
Wikipedia
ぬこの手
ぬこTOP
1.460s*