[過去ログ]
プログラミングのお題スレ Part13 (1002レス)
プログラミングのお題スレ Part13 http://mevius.5ch.net/test/read.cgi/tech/1549160513/
上
下
前次
1-
新
通常表示
512バイト分割
レス栞
抽出解除
レス栞
このスレッドは過去ログ倉庫に格納されています。
次スレ検索
歴削→次スレ
栞削→次スレ
過去ログメニュー
リロード規制
です。10分ほどで解除するので、
他のブラウザ
へ避難してください。
359: さまよえる蟻人間 ◆T6xkBnTXz7B0 [sage] 2019/02/24(日) 06:09:09 ID:xnYazQgz お題: スリープソートを実装せよ。 http://mevius.5ch.net/test/read.cgi/tech/1549160513/359
370: デフォルトの名無しさん [sage] 2019/02/24(日) 11:01:40 ID:gbE7FXAb >>359 Perl5 use List::Util shuffle; @a = shuffle 1..5; print "shuffled) @a\n"; use threads; use threads::shared; my @b: shared; sub f { my $n = shift; sleep $n; push @b, $n; } push @thr, threads->create(\&f, $_) for @a; $_->join() for @thr; print "sorted ) @b\n"; 実行結果 ~ $ perl 13_359.pl shuffled) 5 3 1 2 4 sorted ) 1 2 3 4 5 http://mevius.5ch.net/test/read.cgi/tech/1549160513/370
371: デフォルトの名無しさん [sage] 2019/02/24(日) 11:04:08 ID:gbE7FXAb >>370 しまった、 がそのまま表示されている…orz 全角スペースに置換して修正 >>359 Perl5 use List::Util shuffle; @a = shuffle 1..5; print "shuffled) @a\n"; use threads; use threads::shared; my @b: shared; sub f { my $n = shift; sleep $n; push @b, $n; } push @thr, threads->create(\&f, $_) for @a; $_->join() for @thr; print "sorted ) @b\n"; 実行結果 ~ $ perl 13_359.pl shuffled) 5 3 1 2 4 sorted ) 1 2 3 4 5 http://mevius.5ch.net/test/read.cgi/tech/1549160513/371
377: デフォルトの名無しさん [sage] 2019/02/24(日) 16:12:06 ID:ke/CY5a3 >>359 Pharo/Squeak Smalltalk | sleepsort | sleepsort := [:arr | | queue | queue := SharedQueue new. arr do: [:x | [(x * 2) milliSeconds asDelay wait. queue nextPut: x] fork]. (1 to: arr size) inject: #() into: [:acc :idx | acc, {queue next}] ]. sleepsort value: #(2 1 5 10 7 8 3 6 4 9) "=> #(1 2 3 4 5 6 7 8 9 10) " http://mevius.5ch.net/test/read.cgi/tech/1549160513/377
380: デフォルトの名無しさん [sage] 2019/02/24(日) 19:37:23 ID:Wf3q+Rvy >>359 Bash #!/usr/bin/bash N=5 IFS=$'\n' a=(`seq $N | shuf | sed -e 's/\([0-9]\+\)/(sleep \1; echo \1 >> result)/'`) IFS="$'\n'$'\t' " [ -f ./result ] && rm ./result for s in "${a[@]}"; do echo "$s" sh -c "${s}" & done wait cat ./result ~ $ sh 13_359.sh (sleep 2; echo 2 >> result) (sleep 5; echo 5 >> result) (sleep 4; echo 4 >> result) (sleep 1; echo 1 >> result) (sleep 3; echo 3 >> result) 1 2 3 4 5 http://mevius.5ch.net/test/read.cgi/tech/1549160513/380
メモ帳
(0/65535文字)
上
下
前次
1-
新
書
関
写
板
覧
索
設
栞
歴
スレ情報
赤レス抽出
画像レス抽出
歴の未読スレ
AAサムネイル
Google検索
Wikipedia
ぬこの手
ぬこTOP
0.038s