Initial data commit
This commit is contained in:
parent
72d218235f
commit
f23f22d71c
199087 changed files with 3378941 additions and 0 deletions
|
|
@ -0,0 +1,25 @@
|
|||
F siftdown(&lst, start, end)
|
||||
V root = start
|
||||
L
|
||||
V child = root * 2 + 1
|
||||
I child > end
|
||||
L.break
|
||||
I child + 1 <= end & lst[child] < lst[child + 1]
|
||||
child++
|
||||
I lst[root] < lst[child]
|
||||
swap(&lst[root], &lst[child])
|
||||
root = child
|
||||
E
|
||||
L.break
|
||||
|
||||
F heapsort(&lst)
|
||||
L(start) ((lst.len - 2) I/ 2 .. 0).step(-1)
|
||||
siftdown(&lst, start, lst.len - 1)
|
||||
|
||||
L(end) (lst.len - 1 .< 0).step(-1)
|
||||
swap(&lst[end], &lst[0])
|
||||
siftdown(&lst, 0, end - 1)
|
||||
|
||||
V arr = [7, 6, 5, 9, 8, 4, 3, 1, 2, 0]
|
||||
heapsort(&arr)
|
||||
print(arr)
|
||||
Loading…
Add table
Add a link
Reference in a new issue