Initial data commit
This commit is contained in:
parent
72d218235f
commit
f23f22d71c
199087 changed files with 3378941 additions and 0 deletions
|
|
@ -0,0 +1,17 @@
|
|||
swap=: C.~ <
|
||||
|
||||
siftDown=: 4 : 0
|
||||
'c e'=. x
|
||||
while. e > c=.1+2*s=.c do.
|
||||
before=. <&({&y)
|
||||
if. e > 1+c do. c=.c+ c before c+1 end.
|
||||
if. s before c do. y=. y swap c,s else. break. end.
|
||||
end.
|
||||
y
|
||||
)
|
||||
|
||||
heapSort=: 3 : 0
|
||||
if. 1>: c=. # y do. y return. end.
|
||||
z=. siftDown&.>/ (c,~each i.<.c%2),<y NB. heapify
|
||||
> ([ siftDown swap~)&.>/ (0,each}.i.c),z
|
||||
)
|
||||
|
|
@ -0,0 +1,5 @@
|
|||
heapSort 1 5 2 7 3 9 4 6 8 1
|
||||
1 1 2 3 4 5 6 7 8 9
|
||||
|
||||
heapSort &. (a.&i.) 'aqwcdhkij'
|
||||
acdhijkqw
|
||||
Loading…
Add table
Add a link
Reference in a new issue