June 2018 Update
This commit is contained in:
parent
ba8067c3b7
commit
22f33d4004
5278 changed files with 84726 additions and 14379 deletions
|
|
@ -0,0 +1,55 @@
|
|||
.de end
|
||||
..
|
||||
.de array
|
||||
. nr \\$1.c 0 1
|
||||
. de \\$1.push end
|
||||
. nr \\$1..\\\\n+[\\$1.c] \\\\$1
|
||||
. end
|
||||
. de \\$1.pushln end
|
||||
. if \\\\n(.$>0 .\\$1.push \\\\$1
|
||||
. if \\\\n(.$>1 \{ \
|
||||
. shift
|
||||
. \\$1.pushln \\\\$@
|
||||
. \}
|
||||
. end
|
||||
. de \\$1.dump end
|
||||
. nr i 0 1
|
||||
. ds out "
|
||||
. while \\\\n+i<=\\\\n[\\$1.c] .as out "\\\\n[\\$1..\\\\ni]
|
||||
. tm \\\\*[out]
|
||||
. rm out
|
||||
. rr i
|
||||
. end
|
||||
. de \\$1.slideright end
|
||||
. nr i \\\\$1
|
||||
. nr i+1 \\\\ni+1
|
||||
. nr \\$1..\\\\n[i+1] \\\\n[\\$1..\\\\ni]
|
||||
. rr i
|
||||
. rr i+1
|
||||
. end
|
||||
..
|
||||
.de insertionsort
|
||||
. nr keyidx 1 1
|
||||
. while \\n+[keyidx]<=\\n[\\$1.c] \{ \
|
||||
. nr key \\n[\\$1..\\n[keyidx]]
|
||||
. nr compidx \\n[keyidx] 1
|
||||
. while \\n-[compidx]>=0 \{ \
|
||||
. if \\n[compidx]=0 \{ \
|
||||
. nr \\$1..1 \\n[key]
|
||||
. break
|
||||
. \}
|
||||
. ie \\n[\\$1..\\n[compidx]]>\\n[key] \{ \
|
||||
. \\$1.slideright \\n[compidx]
|
||||
. \}
|
||||
. el \{ \
|
||||
. nr compidx+1 \\n[compidx]+1
|
||||
. nr \\$1..\\n[compidx+1] \\n[key]
|
||||
. break
|
||||
. \}
|
||||
. \}
|
||||
. \}
|
||||
..
|
||||
.array a
|
||||
.a.pushln 13 64 22 87 54 87 23 92 11 64 5 9 3 3 0
|
||||
.insertionsort a
|
||||
.a.dump
|
||||
|
|
@ -0,0 +1,45 @@
|
|||
.de end
|
||||
..
|
||||
.de array
|
||||
. nr \\$1.c 0 1
|
||||
. de \\$1.push end
|
||||
. nr \\$1..\\\\n+[\\$1.c] \\\\$1
|
||||
. end
|
||||
. de \\$1.pushln end
|
||||
. if \\\\n(.$>0 .\\$1.push \\\\$1
|
||||
. if \\\\n(.$>1 \{ \
|
||||
. shift
|
||||
. \\$1.pushln \\\\$@
|
||||
. \}
|
||||
. end
|
||||
. de \\$1.dump end
|
||||
. nr i 0 1
|
||||
. ds out "
|
||||
. while \\\\n+i<=\\\\n[\\$1.c] .as out "\\\\n[\\$1..\\\\ni]
|
||||
. tm \\\\*[out]
|
||||
. rm out
|
||||
. rr i
|
||||
. end
|
||||
. de \\$1.swap end
|
||||
. if (\\\\$1<=\\\\n[\\$1.c])&(\\\\$1<=\\\\n[\\$1.c]) \{ \
|
||||
. nr tmp \\\\n[\\$1..\\\\$2]
|
||||
. nr \\$1..\\\\$2 \\\\n[\\$1..\\\\$1]
|
||||
. nr \\$1..\\\\$1 \\\\n[tmp]
|
||||
. rr tmp
|
||||
. \}
|
||||
. end
|
||||
..
|
||||
.de insertionsort
|
||||
. nr keyidx 1 1
|
||||
. while \\n+[keyidx]<=\\n[\\$1.c] \{ \
|
||||
. nr compidx \\n[keyidx]+1 1
|
||||
. nr compidx-1 \\n[keyidx] 1
|
||||
. while (\\n-[compidx]>0)&(\\n[\\$1..\\n-[compidx-1]]>\\n[\\$1..\\n[compidx]]) \{ \
|
||||
. \\$1.swap \\n[compidx] \\n[compidx-1]
|
||||
. \}
|
||||
. \}
|
||||
..
|
||||
.array a
|
||||
.a.pushln 13 64 22 87 54 87 23 92 11 64 5 9 3 3 0
|
||||
.insertionsort a
|
||||
.a.dump
|
||||
Loading…
Add table
Add a link
Reference in a new issue