Fullscreen for best experience.
To minimize lag, close all of your Chrome tabs except this one.
To mute sound, turn down the volume of your device to 0%.
Turbo mode is turned on automatically.
Featuring:
- Over 100 Sorts
- Over 50 Shuffles
- Too Many Exchange Sorts
- And A Bit Moredata:image/png;base64,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data:image/png;base64,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
errorerrorAll Sorts1
All Shuffles1
error1010
<#1>
a1
ig01
i1i112i-1a1b12
i11i-1
i11i-1
i111i-1gap-1
i11i1gap-1
i11i-1
i11i-1
i11i-1
i11i-1
i1
i-1
i12c-1
i1
i1
i12end-1
gap-1
gap-11i1gap-11
gap2gap1gap1.5
2
Lime Sort
2
Orange Sort
2
Grapefruit Sort
2
Kinnow Sort
3
Kiyomi Sort
3
Chinotto Sort
3
Mandarin Orange Sort
3
3
Invered Sort
3
Citron Sort
2
Single Directional Chinotto Sort
3
Single Directional Mandarin Orange Sort
3
Quasi-Rotating Red Lime
2
Rotating Red Lime Sort
2
Hyuganatsu Sort
2
Rotating Hyuganatsu Sort
2
Orange Sort 2
2
Flip Orange Sort
2
Flip Red Sort
2
Key Lime Sort
2
.25
Imsimm Sort
.5
Imsimm Sort 2
.5
Pop Sort 2
.5
Crack Sort 2
.5
Single Directional Pop Sort 2
.5
V Sort
1.5
2
Rotating Selection Sort
2
Sandpaper Sort
0.4
Double Sandpaper Sort
0.4
Bad Sort
2424
Flip Selection Sort
2
Flip Sandpaper Sort
1
Flapaper Sort
0.4
Wiggle Sandpaper
0.4
Dumb Selection Sort
.16
Bubgo Sort
1
Bingo Sort
1
Assoclist Sort
1
2
Binary Insertion Sort
2
Linebinary Insertion Sort
2
Shell Sort
0.75
Ciura Gap Shell Sort
1
Progressive Sort
2
Progressive Sort 2
2
Y-Progressive Sort
2
Optimized Z-Stooge Sort
.15
Marshmallow Sort
2
Marshmallow Sort (Extended Gaps)
2
Flip Insertion Sort
2
i1list11
1
Quick Sort (Middle Pivot)
1
Stable Quick Sort
2
LR Quick Sort
1
Hybrid Quicksort
1
Sort ListMedian Quicksort
2
Fake Quicksort
2
Fake Quick Pairwise Sort
2
__ Array Writes1gap2
__ Array Writes1_ Aux Array Writes1i11Code by taluvina
listfocus0
iiter1
1
Base 3 Odd-Even Sort
1
Base 4 Odd-Even Sort
1
Base n/16 Odd-Even Sort
1
Rouge Odd-Even Sort
2
Comb Odd-Even Sort
2
Odd then Even Sort
0.75
Odd then Even Sort + Merge
0.75
iiter1
iiter1
iiter1
iiter1base-1
iiter1
iiter1i1j2
j1
j1
1green0
_ Comparisons1i1j-1extra pointers
llist1
Sort to runAll Sorts
0.5_ Current SortFinished!
Shuffle to RunAll Shuffles
20
i11
i110
__ Array Writes11__ Array Writes11400
i110
i110
a1b-11000
i1j2
Already Sorted
Reversed
Almost Sorted
Almost Reversed
Nearly Sorted
Nearly Reversed
Reversed Few Unique
Almost Sorted Few Unique
Very Few Unique
Two Unique
Already Sorted Few Unique
Binary
Binary Alternating
Tent Shaped
W Shaped
M Shaped
Sine Wave
Reversed Sine Wave
Shuffled Sine Wave
Interweaved
Intersine
Double Layered
Reversed Double Layered
YAV Shape
Interlaced
Reversed Final Merge
Sawtooth
Sawtooth 2
Cubic Final Merge
Quintic Final Merge
Cubic Sawtooth
Quintic Sawtooth
Reverse Rotated
Partially Rotated
Partially Rotated Other Direction
ig-1
0.5
Cocktail Rouge Sort
0.5
Looping Rouge Sort
0.5
Rotate Rouge Sort
1
Rotate Looping Rouge Sort
1
Comb Sort
1
Cocktail Comb Sort
1
Looping Comb Sort
1
Rotate Comb Sort
1
Rotate Looping Comb Sort
1
Feijeland Sort
1
Rotate Feijeland Sort
1
Brush Sort
1
Feijeland Sort 2
1.19203
Coll Sort
1
3-Smooth Comb Sort
.625
Pseudo-Shell Sort
0.5
gap-1
ig-1
gap1.3
gap1.31i1gap1.31
ig1.3
gap1.3
ig1.3
i
i
gap1.3
gap1.3
This block carries out the given script for each item of the given list, like the primitive FOR EACH.
What's different is that it provides the # variable, which will contain the item number in the list of each item in turn, 1 while processing item 1, and so on.
ca:_ per cada _ de _ _
temp
ab122_ Aux Array Writes1_ Comparisons12i
2
In-Place Merge Sort
2
Bottom-Up Merge Sort
2
Iterative Merge Sort
2
Iterative In-Place Merge Sort
2
ab12
iiter1base1.3
11
Reverse Cubic
Quintic
Reverse Quintic
Quadratic
Shuffled Quadratic
Quartic
Shuffled Quartic
Square Root
Reverse Square Root
Cube Root
Reverse Cube Root
1
i2size42isize2
enddone?false1end-1
_ Comparisons1index11true
0.5
Ternary Heap Sort
0.5
Quaternary Heap Sort
0.5
Base 64 Heap Sort
0.5
Base n Heap Sort
0.5
Base-n/16 Heap Sort
0.5
Base-log n Heap Sort
0.5
Unary Heap Sort
0.15
Base 1.5 Heap Sort
0.5
_ Comparisons1index11true
highlighthighlight 21
highlighthighlight 2M121
highlighthighlight 2M1413
true
true
highlighthighlight 2M1312
i1end-1
end-1done?trueistart1
end-1done?true2start1done?true
1
-1
4
Sinking Sort
4
Cocktail Shaker Sort
4
Cashew Sort
4
Walnut Sort
4
Trashew Sort
4
Pecan Sort
4
Almond Sort
4
Random Nut Sort
4
Pop Sort
1.5
Crack Sort
1.5
Single Directional Pop Sort
1.5
2424
Egoots Sort
2424
3/4 Stooge Sort
1616
3030
Slow Sort
3030
Cocktail Slow Sort
4040
BSY Slow Sort
3030
BSY Silly Sort
3030
highlighthighlight 21
j1
low1high-11
i1
Reversed Final Radix
Penultimate Radix
Circle Sorted
Circle Sorted Penultimate Radix
Shuffle ListFinal Pairwise Pass
Reversed Final Pairwise Pass
Sorted Pairs
Shuffle ListQuick Sorted
Shuffle ListRotate Looping Comb Sorted
Reverse Rotate Looping Comb Sorted
mid
mid2
false0
true_ Comparisons1
__ Array Writes11__ Array Writes11
end-1done?true2start1done?true
end-1start1iternum1
end-1done?true3start1done?true
i110
end-1start1iternum1
end-1start1iternum1
-1
1
211
highlighthighlight 2M1312
highlighthighlight 2M121
highlighthighlight 21
done?falsedone?false
done?falsedone?false
low1high-1mid2201
ig1.3
i11i-1
i__ Array Writes11
Circle Final Merge
Reversed Shuffled Final Merge
Shuffled Cubic Final Merge
Shuffled Quintic Final Merge
listfocus0l2r-2pivotxij_ Comparisons1i1j-1leftrightw2
low1high1high-2low-1high-11i1
i__ Array Writes1gap1
i22122312
i
maxstart1end-1
gap2
i0i
highlighthighlight 21lol1<#n>
gap.5
#1
.
Stage-210Stage25-1515invalidvalid
20invalidvalid
rselectedcpos20#1
.
Stage-210Stage25-1515valid<#n>
gap.5
i11
k1
i1list11
ab126016
Scrambled Head
Scrambled Tail
Scrambled Head + Tail
Shuffle ListDouble Layered Shuffle
Shuffled Top
Shuffled Bottom
Shuffle ListPartitioned Array
i2
i110
_ Comparisons1i1k-1
j1
s1
sort
mergei12merge12merge__ Array Writes11__ Array Writes11
i111gap2i1
11gap2i1
1
2020
Y-Stooge Sort
1616
Z-Stooge Sort
1313
XY-Stooge Sort
2020
Hyperstooge Sort
99
Really Bad Sort
99
Omegaomega Hyperstooge Sort
55
4848
Gappy Stooge Sort
2020
Gappy Stooge Sort 2
2020
Room Stooge Sort
3030
Bitonic Stooge Sort
1616
ai
ii
index1
swappedlowhighmid
swappedmid2lowhigh1
high-1i1212
2
Quasi-Circle Sort
2.5
Circloid Sort
2
3/4 Circle Sort
3030
Bladson Sort
3
Bladson Sort 2
3
Bitonic Circle Sort
3
Optimized Stooge Sort?
3
Flop Sort
2
Flap Sort
2
Bolco Sort
3
Serkl Sort A
2
Serkl Sort B
2
Freezing Sort
2
Hybrid Circloid Sort
2
swappedlowhighmid
swappedfalselowhighlow1high-1mid140
__ Array Writes11__ Array Writes11Runs the script repeatedly, as long as the condition is true. Tests the condition before the first time the script is run. Like the built in REPEAT UNTIL except that in this block the condition must be true, not false.
pt:enquanto _ , repete _ $loop-0.7
low1high1high-1high-1low-11
ii1
low1high11
1d2done?falsegap211
low1high-1i11low1high-1
1d2done?falsegap211
1d2done?falsegap211
done?falsedone?false
_ Aux Array Writes1_ Comparisons12i1
listfocus0
Negative Bell Curve
Shuffled Bell Curve
Sinc
Reversed Sinc
Shuffled Sinc
Divisor (Sigma 0)
Divisor (Sigma 1)
Divisors of Divisors
low1high-1ab
a111b1a1Catch errors.
Runs the first script. If it succeeds, nothing else happens.
But if it has an error (something that would otherwise result
in a red halo around the block), then the second script is run,
with the text of the error message that would have been shown in the variable ERROR.
pt:tenta executar _ e, em caso de erro _ , executa _
return
Throw an error.
Makes a red halo appear around the script that runs it,
with the input text shown in a speech balloon next to
the script, just like any Snap! error.
This is useful to put in the second script of SAFELY TRY
after some other instructions to undo the partial work of
the first script.
pt:lança o erro _
LET (FOO) BE (5)
is equivalent to
SCRIPT VARIABLES (FOO)
SET (FOO) TO (5)
pt:cria a variável de guião _ com valor _
Catch errors in a reporter.
Evaluates its first input. If that expression successfully reports a value, this block reports that value. If the expression causes a Snap! error,
then the final input slot is evaluated with the text of what would have
been the error message in variable ERROR. SAFELY TRY then reports the value of that final expression.
Sometimes you'll want to throw an error in the final expression. You
can put an ERROR block inside a CALL block to do that.
err
1
Sort ListFun Sort
123454
E Sort
6
Sort ListModulo Sort (Base 2)
1
Modulo Sort (Base 4)
1
Modulo Sort (Base 10)
1
Modulo Sort (Base 64)
1
Sort ListHeap Sort
.5
Min Heap Sort
.5
Naive Ternary Heap Sort
.5
Sort ListQuad Stooge Sort
.5
hope sort
0
Sort ListModulo Sort
.5
Modulo Sort
.5
Modulo Sort
.5
Diamond Sort
.5
maxpos0b1b1
sort
mergei
2
2
Bitonic Healy Sort
2
Bad Merge Sort
3
Pseudo-Heap Merge Sort
2
Circle Merge Sort
2
Mini Merge Sort
2
Cursed Weave Merge Sort
2
Semi-Stooge Merge Sort
3
Semi-Stooge Merge Sort 2
3
Reglab Sort
2
Reglab Sort 2
2
Quick SP Sort
2
Shell Merge Sort 2
2
4-Weave Merge Sort 2
2
i-110
i1
i2
1
Base-3 Weave Sort
.625
Base-4 Weave Sort
.625
Base-4 Weave Sort 2
1
Recursive Comb Sort
.625
Improved Weave Sort
.625
Iterative Weave Sort
.625
__ Array Writes1
gap2iii
22
11
i22
1
0.5
Lazy Opti. Quad-Stooge Sort
0.5
Opti. Awkward Sort
0.5
1falsefalse1
2
Iterative In-Place Merge Sort 2
2
Shell Merge Sort
0.5
Iterative Shell Merge Sort
0.5
Binary Merge Sort
2
Binary Insertion Merge Sort
2
In-Place Binary Merge Sort
2
Weave Merge Sort
2
In-Place Merge Sort 3
2
Old In-Place Merge Sort
1
Old Iterative In-Place Merge Sort
1
Rotate Merge Sort
1
Iterative In-Place Merge Sort (Reversal Rotations)
2
sort
mergei1m211
sort
mergei1m211i2a
size4size2
i222
gap2_ Comparisons1i
i2size42s1isize2
highlighthighlight 21
1515
Bad Selection Sort
1515
true
464644
Insertion Bogosort
448484
Binary Insertion Bogosort
440404
Pogosort
448484
Bubble Bogosort
532325
Shell Bogosort
530305
Circle Bogosort
524245
Exchange Bogosort
524245
Selection Bogosort
464644
Sort ListBogosort
77
Bozosort
77
Gorosort
77
Bakasort
77
b_ Comparisons1
__ Array Writes11__ Array Writes11
i1
i11
Ternary Digit Reversal
Quaternary Digit Reversal
1.5-ary Digit Reversal
B2DR + BD3R A
B2DR + BD3R B
B3DR + BD2R A
B3DR + BD2R B
Shuffle ListCubic B2DR
Cubic B3DR
Cubic B4DR
Shuffle ListQuintic B2DR
Quintic B3DR
Quintic B4DR
Shuffle ListBinary Digit Reversal w/o Digit Addition
Ternary Digit Reversal w/o Digit Addition
Quaternary Digit Reversal w/o Digit Addition
1.5-ary Digit Reversal w/o Digit Addition
Shuffle ListBalanced Ternary (abs val)
Balanced Ternary
Shuffle ListBase 3 as Base 2
Base 4 as Base 2
Base 4 as Base 3
Shuffle ListBit Circ B2 + Bit Circ B3 A
Bit Circ B2 + Bit Circ B3 B
Bit Circ B3 + Bit Circ B2 A
Bit Circ B3 + Bit Circ B2 B
Shuffle ListBit Circ B2 + Bit Circ B5 A
Bit Circ B2 + Bit Circ B5 B
Bit Circ B5 + Bit Circ B2 A
Bit Circ B5 + Bit Circ B2 B
Shuffle ListBit Circ B3 + Bit Circ B5 A
Bit Circ B3 + Bit Circ B5 B
Bit Circ B5 + Bit Circ B3 A
Bit Circ B5 + Bit Circ B3 B
i1end11
0.5_ Current Sort1Finished!Moving on to 11
0.5
pt:a frequência da nota _
69
de:fange _ _
ca:agafa _ _
es:atrapar _ _
fr:attrape _ _
pt:captura _ _
cont
de:wirf _
ca:llança _
es:lanzar _
fr:lance _
pt:lança _
catchtag
i11
false_ Comparisons1r11
1Pair-2Pair01
1Pointer1
falsetruetruep2c1b11p1falsefalsefalser12p21c1b1truefalsetrue_ Comparisons101_ Comparisons1truefalse
truetrues11falsefalseIndex12s1s1falsetrue1_ Comparisons1*s1r10*s1r1_ Comparisons1*s1r1falsetruefalse
Ktruer1211r12_ Comparisons1
Ktruer1211r12_ Comparisons1
Ktruer21r2
2
Bottom Up Merge Sort
2
Iterative Merge Sort
2
Smoothsort
2
Aspen Sort
2
K-ary Max Heap Sort
2
K-ary Min Heap Sort
2
Flipped K-ary Min Heap Sort
2
i
ai
ii
i22
sort
merge
recursei12merge12merge
b1d-1
_ Comparisons111
0.2
Grass Sort
0.3
Grass Sort 2
0.3
Dandelion Sort
0.3
Float Sort
0.3
0
0.5
Pseudo-Heap Sort
0.5
Kovlo Sort
0.5
Sandbubble Sort
2
Mini Quick Sort
0.5
Wavy Sort
2
Duo Pointer Sort
2
Archae Sort
0.2
Archaedana Sort
0.2
Cursed Bubble Sort
0.2
low1high-1c-2
low1high-1
1
gap2done?falsegap3
highlighthighlight 2M13012
1
Recursed Reversals (1/3 Mult Fac)
Recursed Reversals (2/3 Mult Fac)
Recursed Reversals (2/5 Mult Fac)
Recursed Reversals (1/5 Mult Fac Left)
Recursed Reversals (1/5 Mult Fac Right)
Shuffle ListRecursed Rotations (1/2 Mult Fac)
Recursed Rotations (1/3 Mult Fac)
Recursed Rotations (2/3 Mult Fac)
Recursed Rotations (3/4 Mult Fac)
Shuffle ListRecursed Weaves
Shuffle ListGray Code Left
Gray Code Right
Quicksort Killer
Inverse QSK
Shuffle ListBST 0.5
BST 0.9
BST 0.1
BST --> RFX
index2
3i1i1
highlighthighlight 2M21
_ Comparisons111b1d-1
1gap2g2
i11
i11
i11
_ Comparisons1minmaxjj1i1max change?false#itemmax change?true
0.6
Line Sort
0.6
Indexing Sort
0.6
Decrement Sort
1
DL Sort
2
xij_ Comparisons1i1j-1extra pointers
highlighthighlight 2111
1
i110
low1high-1
swappedlowhigh
swappedfalselowhighlow1high-1
gap-1
gap-1
_ Comparisons1_ Comparisons11
a
_ Comparisons11_ Comparisons11
2121true
121true
1241true
_ Comparisons1_ Comparisons11
highlighthighlight 21
highlighthighlight 21
_ Comparisons1highlighthighlight 21
_ Comparisons1highlighthighlight 21
_ Comparisons1highlighthighlight 211111
1
i11
i11
i1ia2
a1b1
a1
1000
j
i11
maxStageStage2Stage-2Stage0.75Stage218,3,0,1i1Stage-210Stage25-15Current Sort:
15-15Numbers:
15-15Comparisons:
15-15Swaps:
15-15Main Array Writes:
15-15Aux Array Writes:
15
ai1tagi11
i11
a1#2
1
1
1i11
Icicles (Base 2)
Icicles (Base 3)
Icicles (Base 10)
Wisteria
Wisteria (Base 2)
Wisteria (Base 3)
Wisteria (Base 10)
Sierpinski Triangle
Tilted Sierpinski Triangle
Fractal Mountains
Whole Number Sierpinski Triangle
2 Sierpinski Triangles
Penta Triangle
Temple
Stairs
Penta Sierpinski
Pentagonal Sierpinski
Sjevsilekova 4,5
Sjevsilekova 4,7
Sierpinski Triangle on Drugs
Sierpinski Triangle on Drugs 2
Shuffle Liststg
Triangle 4
Bozairah
i11i-1
i1
partition
sortpartition1
partition
partition2
sortpartitionlow18
merge
sort
circle
merge22merge12mergelow1high-1low1high11mergemergemerge1
a2falsea12falsea1true
1k2
oli10item
i
i22true
ai1b1
i1i1gap1.3end-1
Random i to n
Random 1 to n-i
1
Sinking Sort
1
Cocktail Shaker Sort
1
mid
mid21
_ Aux Array Writes1_ Comparisons12i
gap2
#itemi1j1i1j1atag132
merge
sort
recurse12merge-112merge1
i1
i12212
b2a2b2b2
a
_ Comparisons1a132120
b2a
1.61829480i1end-1
.625
Recursive Shell Sort (Power of 3 Gaps)
.625
Strand Insertion Sort
0.375
Strand Insertion Sort 2
0.25
L10 Strand Insertion Sort
0.3
LSqrt(n) Strand Insertion Sort
0.2
Ln/16 Strand Insertion Sort
0.2
Reverse Insertion Sort
.5
Partition Insertion Sort
.5
Insort Sort
0.5
Rotate Insert-Sandpaper Strand Sort
0.3
BDC Insertion Sort
0.25
Matrix Partition Sort
0.5
_ Aux Array Writes1_ Comparisons1i
ab
ab111
1b-11
a1
Strands of Sqrt(n)
Strands of n/16
c11
__ Array Writes11
i1list1
d-11n121
d-111
_ Comparisons1_ Comparisons111msecendab1
0123
b_ Comparisons1
0123456
falsetrue
j11
donetruetrue
true
extra pointers
1__ Array Writes112__ Array Writes11
gap2
.625
b1a1
012
012
i111
__ Array Writes11
1segmstart1
segmstart
segmstart
maxStageStage2Stage-20.1Stage-2Stage0.75Stage218,3,0,1i1Stage-210Stage25-15Current Sort:
15-15Numbers:
15-15Comparisons:
15-15Swaps:
15-15Main Array Ops:
15-15Aux Array Ops:
15
maxStageStage2Stage-20.1Stage-2Stage0.3751Stage218,3,0,1i1Stage-210Stage25-15Current Sort:
15-15Numbers:
15-15Comparisons:
15-15Swaps:
15-15Main Array Ops:
15-15Aux Array Ops:
15
maxStageStage2Stage-20.1Stage-2Stage218,3,0,1i1Stage-210Stage25-15Current Sort:
15-15Numbers:
15-15Comparisons:
15-15Swaps:
15-15Main Array Ops:
15-15Aux Array Ops:
15
01222223initial values are 1, length, 1, 0, false
0122222
212searchareamin
searcharea12i2i12
i
1
2
1141121412112
en
a
benj1#itema1bctemptemp2
a1_ Aux Array Writes1temp
temp2
i20btemp
#itemindex1__ Array Writes11__ Array Writes111
_ Aux Array Writes1_ Comparisons12i
en
a
benj1#itema1bcindex1__ Array Writes11__ Array Writes11
temptemp2ab
a_ Aux Array Writes1temp
temp2
i10b#item
1
1.129450#item
end
0sorted
unsorted#item
tempab
temp
bba1j01a1b
ba1j01a1bgap
ba1j01a1bgap
b2a2b2b2
1min1start1i1minstart1
64
64
a-1b-2
a2b1
b2aa11d2
ab1c1a12112
ab1c1a121121
12112ab
a1b1a1
i1
j1i11111
a
a12012
b2dit-1b2dit1dsizedsize2dit1b2dit-11211121true
i11
oddeven
odd
even
iiiitemiitem22
buckets
buckets
ij11
_ Comparisons1_ Aux Array Writes11__ Array Writes1i1i1#item
141141211234134121112112121
buckets
buckets
ij1j1
buckets
buckets
ij1
i1j1a132
2
i11
2
2
OR #-1
XOR #-1
Reversed AND
Reversed OR
Reversed XOR
Shuffle ListV AND
V OR
V XOR
RFRX AND
RFRX OR
RFRX XOR
21.573920__ Array Writes1list1-4932798max change?falsemaxi1i164.2927840max change?truei1unique elements
i1list
i1
tempabbase
basetemp
bba1j01a1b1
Recursive Final Radix (Base 3)
Recursive Final Radix (Base 4)
Recursive Final Radix (Base 5)
RFXR 11
Shuffle ListRFX 01
RFX 10
RFXR 01
RFXR 10
RFXR 00
Shuffle ListRFX 001
RFX 010
RFX 011
RFX 100
RFX 101
RFX 110
Shuffle ListRFX 0001
RFX 0010
RFX 0011
RFX 0100
RFX 0101
RFX 0110
RFX 0111
RFX 1000
Shuffle ListRFX 1001
RFX 1010
RFX 1011
RFX 1100
RFX 1101
RFX 1110
Shuffle ListBST (RFX)
RSO BST (RFX)
Reversed BST (RFX)
Reversed RSO BST (RFX)
Shuffle ListIRFX 001
IRFX 010
IRFX 011
IRFX 100
IRFX 101
IRFX 110
1211214
i1121212112
2
i2size42size2
tempabbase
basetemp
bba1j10a1b1
_ Aux Array Writes1i11_ Aux Array Writes1_ Comparisons1i1__ Array Writes1
a1111
1211212
i2size42size2
i2size42size2
_ Comparisons1_ Comparisons111msecendab1
1_ Comparisons1_ Comparisons1_ Comparisons111111
1
2
1_ Comparisons1_ Comparisons1_ Comparisons111111
23.2942012112128,64,192,32,96,160,224,16,48,80,112,144,176,208,240,8,24,40,56,72,88,104,120,136,152,168,184,200,216,232,248,4,12,20,28,36,44,52,60,68,76,84,92,100,108,116,124,132,140,148,156,164,172,180,188,196,204,212,220,228,236,244,252,2,6,10,14,18,22,26,30,34,38,42,46,50,54,58,62,66,70,74,78,82,86,90,94,98,102,106,110,114,118,122,126,130,134,138,142,146,150,154,158,162,166,170,174,178,182,186,190,194,198,202,206,210,214,218,222,226,230,234,238,242,246,250,254,1,3,5,7,9,11,13,15,17,19,21,23,25,27,29,31,33,35,37,39,41,43,45,47,49,51,53,55,57,59,61,63,65,67,69,71,73,75,77,79,81,83,85,87,89,91,93,95,97,99,101,103,105,107,109,111,113,115,117,119,121,123,125,127,129,131,133,135,137,139,141,143,145,147,149,151,153,155,157,159,161,163,165,167,169,171,173,175,177,179,181,183,185,187,189,191,193,195,197,199,201,203,205,207,209,211,213,215,217,219,221,223,225,227,229,231,233,235,237,239,241,243,245,247,249,251,253,255,0
00129None68633685Bubble Sort,Sinking Sort,Cocktail Shaker Sort,Cashew Sort,Walnut Sort,Trashew Sort,Pecan Sort,Almond Sort,Random Nut Sort,Pop Sort,Crack Sort,Single Directional Pop Sort,Rouge Sort,Cocktail Rouge Sort,Looping Rouge Sort,Rotate Rouge Sort,Rotate Looping Rouge Sort,Comb Sort,Cocktail Comb Sort,Looping Comb Sort,Rotate Comb Sort,Rotate Looping Comb Sort,Feijeland Sort,Rotate Feijeland Sort,Brush Sort,Feijeland Sort 2,Coll Sort,3-Smooth Comb Sort,Pseudo-Shell Sort,Lemon Sort,Lime Sort,Orange Sort,Grapefruit Sort,Kinnow Sort,Kiyomi Sort,Chinotto Sort,Mandarin Orange Sort,Red Sort,Invered Sort,Citron Sort,Single Directional Chinotto Sort,Single Directional Mandarin Orange Sort,Quasi-Rotating Red Lime,Rotating Red Lime Sort,Hyuganatsu Sort,Rotating Hyuganatsu Sort,Orange Sort 2,Flip Orange Sort,Flip Red Sort,Key Lime Sort,Gnome Sort,Grass Sort,Grass Sort 2,Dandelion Sort,Float Sort,Odd-Even Sort,Base 3 Odd-Even Sort,Base 4 Odd-Even Sort,Base n/16 Odd-Even Sort,Rouge Odd-Even Sort,Comb Odd-Even Sort,Odd then Even Sort,Odd then Even Sort + Merge,Quick Sort,Quick Sort (Middle Pivot),Stable Quick Sort,LR Quick Sort,Hybrid Quicksort,Median Quicksort,Fake Quicksort,Fake Quick Pairwise Sort,Circle Sort,Quasi-Circle Sort,Circloid Sort,3/4 Circle Sort,Bladson Sort,Bladson Sort 2,Bitonic Circle Sort,Optimized Stooge Sort?,Flop Sort,Flap Sort,Bolco Sort,Serkl Sort A,Serkl Sort B,Freezing Sort,Hybrid Circloid Sort,Mountain Sort,Weave Sort,Base-3 Weave Sort,Base-4 Weave Sort,Base-4 Weave Sort 2,Recursive Comb Sort,Improved Weave Sort,Iterative Weave Sort,Rhode Sort,Imsimm Sort,Imsimm Sort 2,Pop Sort 2,Crack Sort 2,Single Directional Pop Sort 2,V Sort,Flauchtziht Sort,Pseudo-Heap Sort,Kovlo Sort,Sandbubble Sort,Mini Quick Sort,Wavy Sort,Duo Pointer Sort,Archae Sort,Archaedana Sort,Cursed Bubble Sort,Selection Sort,Rotating Selection Sort,Sandpaper Sort,Double Sandpaper Sort,Bad Sort,Flip Selection Sort,Flip Sandpaper Sort,Flapaper Sort,Wiggle Sandpaper,Dumb Selection Sort,Bubgo Sort,Bingo Sort,Assoclist Sort,Heap Sort,Ternary Heap Sort,Quaternary Heap Sort,Base 64 Heap Sort,Base n Heap Sort,Base-n/16 Heap Sort,Base-log n Heap Sort,Unary Heap Sort,Base 1.5 Heap Sort,Insertion Sort,Binary Insertion Sort,Linebinary Insertion Sort,Shell Sort,Ciura Gap Shell Sort,Progressive Sort,Progressive Sort 2,Y-Progressive Sort,Optimized Z-Stooge Sort,Marshmallow Sort,Marshmallow Sort (Extended Gaps),Flip Insertion Sort,Recursive Shell Sort,Recursive Shell Sort (Power of 3 Gaps),Strand Insertion Sort,Strand Insertion Sort 2,L10 Strand Insertion Sort,LSqrt(n) Strand Insertion Sort,Ln/16 Strand Insertion Sort,Reverse Insertion Sort,Partition Insertion Sort,Insort Sort,Rotate Insert-Sandpaper Strand Sort,BDC Insertion Sort,Matrix Partition Sort,Merge Sort,In-Place Merge Sort,Bottom-Up Merge Sort,Iterative Merge Sort,Iterative In-Place Merge Sort,In-Place Merge Sort 2,Iterative In-Place Merge Sort 2,Shell Merge Sort,Iterative Shell Merge Sort,Binary Merge Sort,Binary Insertion Merge Sort,In-Place Binary Merge Sort,Weave Merge Sort,In-Place Merge Sort 3,Old In-Place Merge Sort,Old Iterative In-Place Merge Sort,Rotate Merge Sort,Iterative In-Place Merge Sort (Reversal Rotations),Opti. Quad-Stooge Sort,Lazy Opti. Quad-Stooge Sort,Opti. Awkward Sort,Odd-Even Merge Sort,Healy Sort,Bitonic Healy Sort,Bad Merge Sort,Pseudo-Heap Merge Sort,Circle Merge Sort,Mini Merge Sort,Cursed Weave Merge Sort,Semi-Stooge Merge Sort,Semi-Stooge Merge Sort 2,Reglab Sort,Reglab Sort 2,Quick SP Sort,Shell Merge Sort 2,4-Weave Merge Sort 2,Pigeonhole Sort,Line Sort,Indexing Sort,Decrement Sort,DL Sort,Poop Merge Sort,Stooge Sort,Egoots Sort,3/4 Stooge Sort,Circle Stooge Sort,Gappy Stooge Sort,Gappy Stooge Sort 2,Room Stooge Sort,Bitonic Stooge Sort,X-Stooge Sort,Y-Stooge Sort,Z-Stooge Sort,XY-Stooge Sort,Hyperstooge Sort,Really Bad Sort,Omegaomega Hyperstooge Sort,Silly Sort,Slow Sort,Cocktail Slow Sort,BSY Slow Sort,BSY Silly Sort,Dumb Merge Sort,Bad Selection Sort,Less Bogosort,Insertion Bogosort,Binary Insertion Bogosort,Pogosort,Bubble Bogosort,Shell Bogosort,Circle Bogosort,Exchange Bogosort,Selection Bogosort,Bogosort,Bozosort,Gorosort,Bakasort
- Bubble Sort
- 4
- Sinking Sort
- 4
- Cocktail Shaker Sort
- 4
- Cashew Sort
- 4
- Walnut Sort
- 4
- Trashew Sort
- 4
- Pecan Sort
- 4
- Almond Sort
- 4
- Random Nut Sort
- 4
- Pop Sort
- 1.5
- Crack Sort
- 1.5
- Single Directional Pop Sort
- 1.5
- Rouge Sort
- 0.5
- Cocktail Rouge Sort
- 0.5
- Looping Rouge Sort
- 0.5
- Rotate Rouge Sort
- 1
- Rotate Looping Rouge Sort
- 1
- Comb Sort
- 1
- Cocktail Comb Sort
- 1
- Looping Comb Sort
- 1
- Rotate Comb Sort
- 1
- Rotate Looping Comb Sort
- 1
- Feijeland Sort
- 1
- Rotate Feijeland Sort
- 1
- Brush Sort
- 1
- Feijeland Sort 2
- 1.19203
- Coll Sort
- 1
- 3-Smooth Comb Sort
- .625
- Pseudo-Shell Sort
- 0.5
- Lemon Sort
- 2
- Lime Sort
- 2
- Orange Sort
- 2
- Grapefruit Sort
- 2
- Kinnow Sort
- 3
- Kiyomi Sort
- 3
- Chinotto Sort
- 3
- Mandarin Orange Sort
- 3
- Red Sort
- 3
- Invered Sort
- 3
- Citron Sort
- 2
- Single Directional Chinotto Sort
- 3
- Single Directional Mandarin Orange Sort
- 3
- Quasi-Rotating Red Lime
- 2
- Rotating Red Lime Sort
- 2
- Hyuganatsu Sort
- 2
- Rotating Hyuganatsu Sort
- 2
- Orange Sort 2
- 2
- Flip Orange Sort
- 2
- Flip Red Sort
- 2
- Key Lime Sort
- 2
- Gnome Sort
- 0.2
- Grass Sort
- 0.3
- Grass Sort 2
- 0.3
- Dandelion Sort
- 0.3
- Float Sort
- 0.3
- Odd-Even Sort
- 1
- Base 3 Odd-Even Sort
- 1
- Base 4 Odd-Even Sort
- 1
- Base n/16 Odd-Even Sort
- 1
- Rouge Odd-Even Sort
- 2
- Comb Odd-Even Sort
- 2
- Odd then Even Sort
- 0.75
- Odd then Even Sort + Merge
- 0.75
- Quick Sort
- 1
- Quick Sort (Middle Pivot)
- 1
- Stable Quick Sort
- 2
- LR Quick Sort
- 1
- Hybrid Quicksort
- 1
- Median Quicksort
- 2
- Fake Quicksort
- 2
- Fake Quick Pairwise Sort
- 2
- Circle Sort
- 2
- Quasi-Circle Sort
- 2.5
- Circloid Sort
- 2
- 3/4 Circle Sort
- 3030
- Bladson Sort
- 3
- Bladson Sort 2
- 3
- Bitonic Circle Sort
- 3
- Optimized Stooge Sort?
- 3
- Flop Sort
- 2
- Flap Sort
- 2
- Bolco Sort
- 3
- Serkl Sort A
- 2
- Serkl Sort B
- 2
- Freezing Sort
- 2
- Hybrid Circloid Sort
- 2
- Mountain Sort
- .625
- Weave Sort
- 1
- Base-3 Weave Sort
- .625
- Base-4 Weave Sort
- .625
- Base-4 Weave Sort 2
- 1
- Recursive Comb Sort
- .625
- Improved Weave Sort
- .625
- Iterative Weave Sort
- .625
- Rhode Sort
- .25
- Imsimm Sort
- .5
- Imsimm Sort 2
- .5
- Pop Sort 2
- .5
- Crack Sort 2
- .5
- Single Directional Pop Sort 2
- .5
- V Sort
- 1.5
- Flauchtziht Sort
- 0.5
- Pseudo-Heap Sort
- 0.5
- Kovlo Sort
- 0.5
- Sandbubble Sort
- 2
- Mini Quick Sort
- 0.5
- Wavy Sort
- 2
- Duo Pointer Sort
- 2
- Archae Sort
- 0.2
- Archaedana Sort
- 0.2
- Cursed Bubble Sort
- 0.2
- Selection Sort
- 2
- Rotating Selection Sort
- 2
- Sandpaper Sort
- 0.4
- Double Sandpaper Sort
- 0.4
- Bad Sort
- 2424
- Flip Selection Sort
- 2
- Flip Sandpaper Sort
- 1
- Flapaper Sort
- 0.4
- Wiggle Sandpaper
- 0.4
- Dumb Selection Sort
- .16
- Bubgo Sort
- 1
- Bingo Sort
- 1
- Assoclist Sort
- 1
- Heap Sort
- 0.5
- Ternary Heap Sort
- 0.5
- Quaternary Heap Sort
- 0.5
- Base 64 Heap Sort
- 0.5
- Base n Heap Sort
- 0.5
- Base-n/16 Heap Sort
- 0.5
- Base-log n Heap Sort
- 0.5
- Unary Heap Sort
- 0.15
- Base 1.5 Heap Sort
- 0.5
- Insertion Sort
- 2
- Binary Insertion Sort
- 2
- Linebinary Insertion Sort
- 2
- Shell Sort
- 0.75
- Ciura Gap Shell Sort
- 1
- Progressive Sort
- 2
- Progressive Sort 2
- 2
- Y-Progressive Sort
- 2
- Optimized Z-Stooge Sort
- .15
- Marshmallow Sort
- 2
- Marshmallow Sort (Extended Gaps)
- 2
- Flip Insertion Sort
- 2
- Recursive Shell Sort
- .625
- Recursive Shell Sort (Power of 3 Gaps)
- .625
- Strand Insertion Sort
- 0.375
- Strand Insertion Sort 2
- 0.25
- L10 Strand Insertion Sort
- 0.3
- LSqrt(n) Strand Insertion Sort
- 0.2
- Ln/16 Strand Insertion Sort
- 0.2
- Reverse Insertion Sort
- .5
- Partition Insertion Sort
- .5
- Insort Sort
- 0.5
- Rotate Insert-Sandpaper Strand Sort
- 0.3
- BDC Insertion Sort
- 0.25
- Matrix Partition Sort
- 0.5
- Merge Sort
- 2
- In-Place Merge Sort
- 2
- Bottom-Up Merge Sort
- 2
- Iterative Merge Sort
- 2
- Iterative In-Place Merge Sort
- 2
- In-Place Merge Sort 2
- 2
- Iterative In-Place Merge Sort 2
- 2
- Shell Merge Sort
- 0.5
- Iterative Shell Merge Sort
- 0.5
- Binary Merge Sort
- 2
- Binary Insertion Merge Sort
- 2
- In-Place Binary Merge Sort
- 2
- Weave Merge Sort
- 2
- In-Place Merge Sort 3
- 2
- Old In-Place Merge Sort
- 1
- Old Iterative In-Place Merge Sort
- 1
- Rotate Merge Sort
- 1
- Iterative In-Place Merge Sort (Reversal Rotations)
- 2
- Opti. Quad-Stooge Sort
- 0.5
- Lazy Opti. Quad-Stooge Sort
- 0.5
- Opti. Awkward Sort
- 0.5
- Odd-Even Merge Sort
- 2
- Healy Sort
- 2
- Bitonic Healy Sort
- 2
- Bad Merge Sort
- 3
- Pseudo-Heap Merge Sort
- 2
- Circle Merge Sort
- 2
- Mini Merge Sort
- 2
- Cursed Weave Merge Sort
- 2
- Semi-Stooge Merge Sort
- 3
- Semi-Stooge Merge Sort 2
- 3
- Reglab Sort
- 2
- Reglab Sort 2
- 2
- Quick SP Sort
- 2
- Shell Merge Sort 2
- 2
- 4-Weave Merge Sort 2
- 2
- Pigeonhole Sort
- 0.6
- Line Sort
- 0.6
- Indexing Sort
- 0.6
- Decrement Sort
- 1
- DL Sort
- 2
- Poop Merge Sort
- 2
- Stooge Sort
- 2424
- Egoots Sort
- 2424
- 3/4 Stooge Sort
- 1616
- Circle Stooge Sort
- 4848
- Gappy Stooge Sort
- 2020
- Gappy Stooge Sort 2
- 2020
- Room Stooge Sort
- 3030
- Bitonic Stooge Sort
- 1616
- X-Stooge Sort
- 2020
- Y-Stooge Sort
- 1616
- Z-Stooge Sort
- 1313
- XY-Stooge Sort
- 2020
- Hyperstooge Sort
- 99
- Really Bad Sort
- 99
- Omegaomega Hyperstooge Sort
- 55
- Silly Sort
- 3030
- Slow Sort
- 3030
- Cocktail Slow Sort
- 4040
- BSY Slow Sort
- 3030
- BSY Silly Sort
- 3030
- Dumb Merge Sort
- 1515
- Bad Selection Sort
- 1515
- Less Bogosort
- 464644
- Insertion Bogosort
- 448484
- Binary Insertion Bogosort
- 440404
- Pogosort
- 448484
- Bubble Bogosort
- 532325
- Shell Bogosort
- 530305
- Circle Bogosort
- 524245
- Exchange Bogosort
- 524245
- Selection Bogosort
- 464644
- Bogosort
- 77
- Bozosort
- 77
- Gorosort
- 77
- Bakasort
- 77
20004342438791Bubble Sorttrue128- Randomized Shuffle
- Already Sorted
- Reversed
- Almost Sorted
- Almost Reversed
- Nearly Sorted
- Nearly Reversed
- Few Unique
- Reversed Few Unique
- Almost Sorted Few Unique
- Very Few Unique
- Two Unique
- Already Sorted Few Unique
- Binary
- Binary Alternating
- V Shaped
- Tent Shaped
- W Shaped
- M Shaped
- Sine Wave
- Reversed Sine Wave
- Shuffled Sine Wave
- Interweaved
- Intersine
- Double Layered
- Reversed Double Layered
- YAV Shape
- Interlaced
- Cubic
- Reverse Cubic
- Quintic
- Reverse Quintic
- Quadratic
- Shuffled Quadratic
- Quartic
- Shuffled Quartic
- Square Root
- Reverse Square Root
- Cube Root
- Reverse Cube Root
- Bell Curve
- Negative Bell Curve
- Shuffled Bell Curve
- Sinc
- Reversed Sinc
- Shuffled Sinc
- Divisor (Sigma 0)
- Divisor (Sigma 1)
- Divisors of Divisors
- Random
- Random i to n
- Random 1 to n-i
- Final Merge
- Reversed Final Merge
- Sawtooth
- Sawtooth 2
- Cubic Final Merge
- Quintic Final Merge
- Cubic Sawtooth
- Quintic Sawtooth
- Shuffled Final Merge
- Circle Final Merge
- Reversed Shuffled Final Merge
- Shuffled Cubic Final Merge
- Shuffled Quintic Final Merge
- Strands of Length 10
- Strands of Sqrt(n)
- Strands of n/16
- Scrambled Odds
- Scrambled Head
- Scrambled Tail
- Scrambled Head + Tail
- Double Layered Shuffle
- Shuffled Top
- Shuffled Bottom
- Partitioned Array
- Rotated
- Reverse Rotated
- Partially Rotated
- Partially Rotated Other Direction
- Binary Digit Reversal
- Ternary Digit Reversal
- Quaternary Digit Reversal
- 1.5-ary Digit Reversal
- B2DR + BD3R A
- B2DR + BD3R B
- B3DR + BD2R A
- B3DR + BD2R B
- Cubic B2DR
- Cubic B3DR
- Cubic B4DR
- Quintic B2DR
- Quintic B3DR
- Quintic B4DR
- Binary Digit Reversal w/o Digit Addition
- Ternary Digit Reversal w/o Digit Addition
- Quaternary Digit Reversal w/o Digit Addition
- 1.5-ary Digit Reversal w/o Digit Addition
- Balanced Ternary (abs val)
- Balanced Ternary
- Base 3 as Base 2
- Base 4 as Base 2
- Base 4 as Base 3
- Bit Circ B2 + Bit Circ B3 A
- Bit Circ B2 + Bit Circ B3 B
- Bit Circ B3 + Bit Circ B2 A
- Bit Circ B3 + Bit Circ B2 B
- Bit Circ B2 + Bit Circ B5 A
- Bit Circ B2 + Bit Circ B5 B
- Bit Circ B5 + Bit Circ B2 A
- Bit Circ B5 + Bit Circ B2 B
- Bit Circ B3 + Bit Circ B5 A
- Bit Circ B3 + Bit Circ B5 B
- Bit Circ B5 + Bit Circ B3 A
- Bit Circ B5 + Bit Circ B3 B
- AND #-1
- OR #-1
- XOR #-1
- Reversed AND
- Reversed OR
- Reversed XOR
- V AND
- V OR
- V XOR
- RFRX AND
- RFRX OR
- RFRX XOR
- Final Radix
- Reversed Final Radix
- Penultimate Radix
- Circle Sorted
- Circle Sorted Penultimate Radix
- Final Pairwise Pass
- Reversed Final Pairwise Pass
- Sorted Pairs
- Quick Sorted
- Rotate Looping Comb Sorted
- Reverse Rotate Looping Comb Sorted
- Recursive Final Radix
- Recursive Final Radix (Base 3)
- Recursive Final Radix (Base 4)
- Recursive Final Radix (Base 5)
- RFXR 11
- RFX 01
- RFX 10
- RFXR 01
- RFXR 10
- RFXR 00
- RFX 001
- RFX 010
- RFX 011
- RFX 100
- RFX 101
- RFX 110
- RFX 0001
- RFX 0010
- RFX 0011
- RFX 0100
- RFX 0101
- RFX 0110
- RFX 0111
- RFX 1000
- RFX 1001
- RFX 1010
- RFX 1011
- RFX 1100
- RFX 1101
- RFX 1110
- BST (RFX)
- RSO BST (RFX)
- Reversed BST (RFX)
- Reversed RSO BST (RFX)
- IRFX 001
- IRFX 010
- IRFX 011
- IRFX 100
- IRFX 101
- IRFX 110
- Recursed Reversals (1/2 Mult Fac)
- Recursed Reversals (1/3 Mult Fac)
- Recursed Reversals (2/3 Mult Fac)
- Recursed Reversals (2/5 Mult Fac)
- Recursed Reversals (1/5 Mult Fac Left)
- Recursed Reversals (1/5 Mult Fac Right)
- Recursed Rotations (1/2 Mult Fac)
- Recursed Rotations (1/3 Mult Fac)
- Recursed Rotations (2/3 Mult Fac)
- Recursed Rotations (3/4 Mult Fac)
- Recursed Weaves
- Gray Code Left
- Gray Code Right
- Quicksort Killer
- Inverse QSK
- Icicles
- Icicles (Base 2)
- Icicles (Base 3)
- Icicles (Base 10)
- Wisteria
- Wisteria (Base 2)
- Wisteria (Base 3)
- Wisteria (Base 10)
- Sierpinski Triangle
- Tilted Sierpinski Triangle
- Fractal Mountains
- Whole Number Sierpinski Triangle
- 2 Sierpinski Triangles
- Penta Triangle
- Temple
- Stairs
- Penta Sierpinski
- Pentagonal Sierpinski
- Sjevsilekova 4,5
- Sjevsilekova 4,7
- Sierpinski Triangle on Drugs
- Sierpinski Triangle on Drugs 2
- stg
- Triangle 4
- Bozairah
1Randomized Shuffle,Already Sorted,Reversed,Almost Sorted,Almost Reversed,Nearly Sorted,Nearly Reversed,Few Unique,Reversed Few Unique,Almost Sorted Few Unique,Very Few Unique,Two Unique,Already Sorted Few Unique,Binary,Binary Alternating,V Shaped,Tent Shaped,W Shaped,M Shaped,Sine Wave,Reversed Sine Wave,Shuffled Sine Wave,Interweaved,Intersine,Double Layered,Reversed Double Layered,YAV Shape,Interlaced,Cubic,Reverse Cubic,Quintic,Reverse Quintic,Quadratic,Shuffled Quadratic,Quartic,Shuffled Quartic,Square Root,Reverse Square Root,Cube Root,Reverse Cube Root,Bell Curve,Negative Bell Curve,Shuffled Bell Curve,Sinc,Reversed Sinc,Shuffled Sinc,Divisor (Sigma 0),Divisor (Sigma 1),Divisors of Divisors,Random,Random i to n,Random 1 to n-i,Final Merge,Reversed Final Merge,Sawtooth,Sawtooth 2,Cubic Final Merge,Quintic Final Merge,Cubic Sawtooth,Quintic Sawtooth,Shuffled Final Merge,Circle Final Merge,Reversed Shuffled Final Merge,Shuffled Cubic Final Merge,Shuffled Quintic Final Merge,Strands of Length 10,Strands of Sqrt(n),Strands of n/16,Scrambled Odds,Scrambled Head,Scrambled Tail,Scrambled Head + Tail,Double Layered Shuffle,Shuffled Top,Shuffled Bottom,Partitioned Array,Rotated,Reverse Rotated,Partially Rotated,Partially Rotated Other Direction,Binary Digit Reversal,Ternary Digit Reversal,Quaternary Digit Reversal,1.5-ary Digit Reversal,B2DR + BD3R A,B2DR + BD3R B,B3DR + BD2R A,B3DR + BD2R B,Cubic B2DR,Cubic B3DR,Cubic B4DR,Quintic B2DR,Quintic B3DR,Quintic B4DR,Binary Digit Reversal w/o Digit Addition,Ternary Digit Reversal w/o Digit Addition,Quaternary Digit Reversal w/o Digit Addition,1.5-ary Digit Reversal w/o Digit Addition,Balanced Ternary (abs val),Balanced Ternary,Base 3 as Base 2,Base 4 as Base 2,Base 4 as Base 3,Bit Circ B2 + Bit Circ B3 A,Bit Circ B2 + Bit Circ B3 B,Bit Circ B3 + Bit Circ B2 A,Bit Circ B3 + Bit Circ B2 B,Bit Circ B2 + Bit Circ B5 A,Bit Circ B2 + Bit Circ B5 B,Bit Circ B5 + Bit Circ B2 A,Bit Circ B5 + Bit Circ B2 B,Bit Circ B3 + Bit Circ B5 A,Bit Circ B3 + Bit Circ B5 B,Bit Circ B5 + Bit Circ B3 A,Bit Circ B5 + Bit Circ B3 B,AND #-1,OR #-1,XOR #-1,Reversed AND,Reversed OR,Reversed XOR,V AND,V OR,V XOR,RFRX AND,RFRX OR,RFRX XOR,Final Radix,Reversed Final Radix,Penultimate Radix,Circle Sorted,Circle Sorted Penultimate Radix,Final Pairwise Pass,Reversed Final Pairwise Pass,Sorted Pairs,Quick Sorted,Rotate Looping Comb Sorted,Reverse Rotate Looping Comb Sorted,Recursive Final Radix,Recursive Final Radix (Base 3),Recursive Final Radix (Base 4),Recursive Final Radix (Base 5),RFXR 11,RFX 01,RFX 10,RFXR 01,RFXR 10,RFXR 00,RFX 001,RFX 010,RFX 011,RFX 100,RFX 101,RFX 110,RFX 0001,RFX 0010,RFX 0011,RFX 0100,RFX 0101,RFX 0110,RFX 0111,RFX 1000,RFX 1001,RFX 1010,RFX 1011,RFX 1100,RFX 1101,RFX 1110,BST (RFX),RSO BST (RFX),Reversed BST (RFX),Reversed RSO BST (RFX),IRFX 001,IRFX 010,IRFX 011,IRFX 100,IRFX 101,IRFX 110,Recursed Reversals (1/2 Mult Fac),Recursed Reversals (1/3 Mult Fac),Recursed Reversals (2/3 Mult Fac),Recursed Reversals (2/5 Mult Fac),Recursed Reversals (1/5 Mult Fac Left),Recursed Reversals (1/5 Mult Fac Right),Recursed Rotations (1/2 Mult Fac),Recursed Rotations (1/3 Mult Fac),Recursed Rotations (2/3 Mult Fac),Recursed Rotations (3/4 Mult Fac),Recursed Weaves,Gray Code Left,Gray Code Right,Quicksort Killer,Inverse QSK,Icicles,Icicles (Base 2),Icicles (Base 3),Icicles (Base 10),Wisteria,Wisteria (Base 2),Wisteria (Base 3),Wisteria (Base 10),Sierpinski Triangle,Tilted Sierpinski Triangle,Fractal Mountains,Whole Number Sierpinski Triangle,2 Sierpinski Triangles,Penta Triangle,Temple,Stairs,Penta Sierpinski,Pentagonal Sierpinski,"Sjevsilekova 4,5","Sjevsilekova 4,7",Sierpinski Triangle on Drugs,Sierpinski Triangle on Drugs 2,stg,Triangle 4,Bozairah
true
255truetruetrue