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,17 @@
List do(
insertionSortInPlace := method(
for(j, 1, size - 1,
key := at(j)
i := j - 1
while(i >= 0 and at(i) > key,
atPut(i + 1, at(i))
i = i - 1
)
atPut(i + 1, key)
)
)
)
lst := list(7, 6, 5, 9, 8, 4, 3, 1, 2, 0)
lst insertionSortInPlace println # ==> list(0, 1, 2, 3, 4, 5, 6, 7, 8, 9)

View file

@ -0,0 +1,13 @@
List do(
insertionSortInPlace := method(
# In fact, we could've done slice(1, size - 1) foreach(...)
# but creating a new list in memory can only make it worse.
foreach(idx, key,
newidx := slice(0, idx) map(x, x > key) indexOf(true)
if(newidx, insertAt(removeAt(idx), newidx))
)
self)
)
lst := list(7, 6, 5, 9, 8, 4, 3, 1, 2, 0)
lst insertionSortInPlace println # ==> list(0, 1, 2, 3, 4, 5, 6, 7, 8, 9)