Initial data commit

This commit is contained in:
Ingy döt Net 2023-07-01 11:58:00 -04:00
parent 72d218235f
commit f23f22d71c
199087 changed files with 3378941 additions and 0 deletions

View file

@ -0,0 +1,44 @@
function siftup(a, i) {
k = i
while (k > 1) {
p = floor(k/2)
if (a[k] > a[p]) {
s = a[p]
a[p] = a[k]
a[k] = s
k = p
}
else break
}
}
function siftdown(a, i) {
k = 1
while (1) {
l = k+k
if (l > i) break
if (l+1 <= i) {
if (a[l+1] > a[l]) l++
}
if (a[k] < a[l]) {
s = a[k]
a[k] = a[l]
a[l] = s
k = l
}
else break
}
}
function heapsort(a) {
n = length(a)
for (i = 2; i <= n; i++) {
siftup(a, i)
}
for (i = n; i >= 2; i--) {
s = a[i]
a[i] = a[1]
a[1] = s
siftdown(a, i-1)
}
}