Jump to content

Sorting algorithms/Insertion sort: Difference between revisions

Add language: /.ROFF/.
(+Stata)
(Add language: /.ROFF/.)
Line 1,831:
END IntSort;
END InsertSort.</lang>
 
=={{header|N/t/roff}}==
 
{{works with|GNU Troff|1.22.2}}
 
===Sliding method===
<lang N/t/roff>.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</lang>
 
===Swapping method===
<lang N/t/roff>.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</lang>
 
=={{header|Nemerle}}==
Anonymous user
Cookies help us deliver our services. By using our services, you agree to our use of cookies.