いろんな言語で宿題 第四編
at TECH
23:デフォルトの名無しさん
10/03/12 17:55:32
前スレにかこうとしてできなかったもの
スレリンク(tech板:790番)
使用言語:J
bubbleSort=:(([ (<. , >.) {.@]) , }.@])/^:_
insertionSort=:((>: # ]) , [ , < #])/
quickSort=:(($:@(<#[) ; (=#[) ,&< $:@(>#[)) ({~ ?@#)) ^: (1<#)
siftDown=: 4 : 0
's e'=. x
z=.y
c=.s
while. e > c=.1+2*s=.c do.
if. e > 1+c do. if. c <&({&z) c+1 do. c=.c+1 end. end.
if. s <&({&z) c do. z=. z {`(|.@[)`]}~ c,s else. break. end.
end.
z
)
heapSort =: 3 : 0
if. 1>: c=. # y do. y return. end.
z=. (] siftDown ~c,~[)&.>/ (<y),~]&.>i.1+<.-:c-2
> (](] siftDown {`(|.@[)`]}~) 0,[)&.>/ z,~]&.>1+i.c-1
)
rt=:6!:2
a=:?~1000
10 rt 'bubbleSort a' NB.1000個のデータでソートを10回行いその平均値を秒で返す
4.91614
10 rt 'heapSort a'
0.337704
10 rt 'quickSort a'
0.0169458
10 rt 'insertionSort a'
0.0110285
次ページ続きを表示1を表示最新レス表示スレッドの検索類似スレ一覧話題のニュースおまかせリスト▼オプションを表示暇つぶし2ch
5499日前に更新/23 KB
担当:undef