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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<#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
1Lime Sort1Orange Sort1Grapefruit Sort1Kinnow Sort2Kiyomi Sort2Chinotto Sort2Mandarin Orange Sort2
2Invered Sort2Citron Sort1Single Directional Chinotto Sort2Single Directional Mandarin Orange Sort2Quasi-Rotating Red Lime1Rotating Red Lime Sort1Hyuganatsu Sort2Rotating Hyuganatsu Sort2Orange Sort 21
.25Imsimm Sort.5Imsimm Sort 2.5Pop Sort 2.5Crack Sort 2.5Single Directional Pop Sort 2.5V Sort1.5Pseudo Odd-Even Sort0.1
2Rotating Selection Sort2Double Selection Sort1Sandpaper Sort0.5Double Sandpaper Sort0.5Bad Sort2424
2Binary Insertion Sort2Linebinary Insertion Sort2Shell Sort0.75Ciura Gap Shell Sort1Progressive Sort2Progressive Sort 22Y-Progressive Sort2
i1list11
1Stable Quick Sort2LR Quick Sort1Random Pivot Quick Sort1Median Quicksort2
__ Array Writes1gap2
__ Array Writes1_ Aux Array Writes1i11
Code by taluvina
listfocus0
iiter1
1Base 3 Odd-Even Sort1Base 4 Odd-Even Sort1Base n/16 Odd-Even Sort1Rouge Odd-Even Sort2Comb Odd-Even Sort2Odd then Even Sort0.75Odd then Even Sort + Merge0.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 SortedReversedAlmost SortedAlmost Reversed
Reversed Few UniqueAlmost Sorted Few UniqueVery Few UniqueTwo UniqueAlready Sorted Few Unique
Tent ShapedW ShapedM ShapedSine WaveReversed Sine WaveShuffled Sine WaveInterweavedIntersineDouble LayeredReversed Double LayeredYAV ShapeInterlaced
Reversed Final MergeSawtoothSawtooth 2Cubic Final MergeQuintic Final MergeCubic SawtoothQuintic Sawtooth
Reverse RotatedPartially RotatedPartially Rotated Other Direction
ig-1
0.5Cocktail Rouge Sort0.5Looping Rouge Sort0.5Rotate Rouge Sort1Rotate Looping Rouge Sort1Comb Sort1Cocktail Comb Sort1Looping Comb Sort1Rotate Comb Sort1Rotate Looping Comb Sort1Feijeland Sort1Rotate Feijeland Sort1Brush Sort1Feijeland Sort 21.19203Coll Sort13-Smooth Comb Sort.625
gap-1
ig-1
__ Array Writes2
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 _ _
tempab122_ Aux Array Writes1_ Comparisons12i
2In-Place Merge Sort1Bottom-Up Merge Sort2Iterative Merge Sort2Iterative In-Place Merge Sort1
ab12
iiter1base1.3
11
Reverse CubicQuinticReverse QuinticQuadraticShuffled QuadraticQuarticShuffled QuarticSquare RootReverse Square RootCube RootReverse Cube Root
1
i2size42isize2
enddone?false1end-1
_ Comparisons1index11true
0.5Ternary Heap Sort0.5Quaternary Heap Sort0.5Base 64 Heap Sort0.5Base n Heap Sort0.5Base-n/16 Heap Sort0.5Base-log n Heap Sort0.5Unary Heap Sort0.15Base 1.5 Heap Sort0.5
_ Comparisons1index11true
highlighthighlight 21
highlighthighlight 2M121
highlighthighlight 2M1413truetrue
highlighthighlight 2M1312
i1end-1
end-1done?trueistart1
end-1done?true2start1done?true
1
-1
4Sinking Sort4Cocktail Shaker Sort4Cashew Sort4Walnut Sort4Trashew Sort4Pecan Sort4Almond Sort4Random Nut Sort4Pop Sort1.5Crack Sort1.5Single Directional Pop Sort1.5
2424Egoots Sort24243/4 Stooge Sort1616
3030Slow Sort3030Cocktail Slow Sort4040BSY Slow Sort3030BSY Silly Sort3030
highlighthighlight 21
j1
low1high-11
i1
1
Reversed Final RadixCircle SortedCircle Sorted Sine WaveReversed Circle SortedShuffle ListFinal Pairwise PassReversed Final Pairwise PassShuffle ListRotate Looping Comb SortedReverse Rotate Looping Comb Sorted
midmid2false0true_ 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 MergeReversed Shuffled Final MergeShuffled Cubic Final MergeShuffled 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-1515invalidvalid20invalidvalidrselectedcpos20#1.Stage-210Stage25-1515valid
<#n>gap.5
i11
k1
i1list11
ab126016
Scrambled HeadScrambled TailScrambled Head + TailShuffle ListDouble Layered ShuffleShuffled TopShuffled BottomShuffle ListPartitioned Array
i2
i110
_ Comparisons1i1k-1
j1
s1
sort mergei12merge12merge__ Array Writes11__ Array Writes11
i111gap2i1
11gap2i1
1
2020Y-Stooge Sort1616Z-Stooge Sort1313XY-Stooge Sort2020Hyperstooge Sort99Really Bad Sort99
4848Gappy Stooge Sort2020Gappy Stooge Sort 22020Room Stooge Sort3030
aiii
index1
swappedlowhighmidswappedfalselowhighlow1high-1mid2lowhigh1
high-1i1212
3Quasi-Circle Sort2Circloid Sort33/4 Circle Sort3030Bladson Sort3Bladson Sort 23Bitonic Circle Sort3Optimized Stooge Sort?3Flop Sort2Flap Sort2
low1high-1
swappedlowhighmidswappedfalselowhighlow1high-1mid140
__ Array Writes11__ Array Writes11
Runs 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 CurveShuffled Bell CurveSincReversed SincShuffled SincDivisor (Sigma 0)Divisor (Sigma 1)Divisors of Divisors
low1high-1aba111b1a1
Catch 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
123454E Sort6Sort ListHeap Sort.5Min Heap Sort.5Naive Ternary Heap Sort.5Sort ListQuad Stooge Sort.5
maxpos0b1b1
sort mergei
2Odd-Even Merge Sort2
2Bitonic Healy Sort2Bad Merge Sort3
i-110
i1
i2
.625Weave Sort 21Base-3 Weave Sort.625Base-4 Weave Sort.625Base-4 Weave Sort 21Bottom-Top Weave Sort1Recursive Comb Sort.625Iterative Weave Sort.625
__ Array Writes1
gap2iii
22
11
i22
1
0.5Lazy Opti. Quad-Stooge Sort0.5Opti. Awkward Sort0.5
1falsefalse1
2Iterative In-Place Merge Sort 22Shell Merge Sort0.5Iterative Shell Merge Sort0.5Binary Insertion Merge Sort2
sort mergei1m211
sort mergei1m211i2asize4size2
i222
gap2_ Comparisons1i
i2size42s1isize2
highlighthighlight 21
1515Bad Selection Sort1515
true
464644Insertion Bogosort448484Pogosort448484Bubble Bogosort532325Shell Bogosort530305Exchange Bogosort524245Sort ListBogosort77Bozosort77Gorosort77Bakasort77
b_ Comparisons1
__ Array Writes11__ Array Writes11
i1
i11
Ternary Digit ReversalQuaternary Digit Reversal1.5-ary Digit ReversalB2DR + BD3R AB2DR + BD3R BB3DR + BD2R AB3DR + BD2R BShuffle ListCubic B2DRCubic B3DRCubic B4DRShuffle ListQuintic B2DRQuintic B3DRQuintic B4DRShuffle ListBinary Digit Reversal w/o Digit AdditionTernary Digit Reversal w/o Digit AdditionQuaternary Digit Reversal w/o Digit Addition1.5-ary Digit Reversal w/o Digit Addition
i1end11
0.5_ Current Sort1Finished!Moving on to 110.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
maxStageStage2Stage-2-180Stage0.75Stage218,3,0,1i1Stage-210Stage25-15Current Sort: 15-15Numbers: 15-15Comparisons: 15-15Swaps: 15-15Main Array Writes: 15-15Aux Array Writes: 15
2Bottom Up Merge Sort2Iterative Merge Sort2Smoothsort2Aspen Sort2K-ary Max Heap Sort2K-ary Min Heap Sort2Flipped K-ary Min Heap Sort2
i
aiii
i22
sort merge recursei12merge12merge
b1d-1
1i111
_ Comparisons111
0.2Grass Sort0.3Grass Sort 20.3Bubbly Gnome Sort0.3Float Sort0.3
0
0.5
low1high-1c-2
low1high-1
1
gap2done?falsegap3
highlighthighlight 2M13012
1
Recursed Reversals (1/3 Mult Fac)Recursed Reversals (2/3 Mult Fac)
index2
3i1i1
highlighthighlight 2M21
_ Comparisons111b1d-1
1gap2g2
i11
i11
i11
0,2,2,2,8,8,14,14,20,20,26,26,31,33,28,21,16,8,14,32,28,38,37,31,26,20,9,4,27,30,33,36,39,42,43,45,47,48,32,38,35,43,41,43,50,46,40,37,43,5062051Flauchtziht Sort37177Bubble 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,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,Gnome Sort,Grass Sort,Grass Sort 2,Bubbly Gnome 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,Stable Quick Sort,LR Quick Sort,Random Pivot Quick Sort,Median Quicksort,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,Weave Sort,Weave Sort 2,Base-3 Weave Sort,Base-4 Weave Sort,Base-4 Weave Sort 2,Bottom-Top Weave Sort,Recursive Comb Sort,Iterative Weave Sort,Rhode Sort,Imsimm Sort,Imsimm Sort 2,Pop Sort 2,Crack Sort 2,Single Directional Pop Sort 2,V Sort,Pseudo Odd-Even Sort,Flauchtziht Sort,Selection Sort,Rotating Selection Sort,Double Selection Sort,Sandpaper Sort,Double Sandpaper Sort,Bad 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,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 Insertion Merge Sort,Opti. Quad-Stooge Sort,Lazy Opti. Quad-Stooge Sort,Opti. Awkward Sort,Healy Sort,Bitonic Healy Sort,Bad Merge Sort,Stooge Sort,Egoots Sort,3/4 Stooge Sort,Circle Stooge Sort,Gappy Stooge Sort,Gappy Stooge Sort 2,Room Stooge Sort,X-Stooge Sort,Y-Stooge Sort,Z-Stooge Sort,XY-Stooge Sort,Hyperstooge Sort,Really Bad Sort,Silly Sort,Slow Sort,Cocktail Slow Sort,BSY Slow Sort,BSY Silly Sort,Dumb Merge Sort,Bad Selection Sort,Less Bogosort,Insertion Bogosort,Pogosort,Bubble Bogosort,Shell Bogosort,Exchange Bogosort,Bogosort,Bozosort,Gorosort,BakasortBubble Sort4Sinking Sort4Cocktail Shaker Sort4Cashew Sort4Walnut Sort4Trashew Sort4Pecan Sort4Almond Sort4Random Nut Sort4Pop Sort1.5Crack Sort1.5Single Directional Pop Sort1.5Rouge Sort0.5Cocktail Rouge Sort0.5Looping Rouge Sort0.5Rotate Rouge Sort1Rotate Looping Rouge Sort1Comb Sort1Cocktail Comb Sort1Looping Comb Sort1Rotate Comb Sort1Rotate Looping Comb Sort1Feijeland Sort1Rotate Feijeland Sort1Brush Sort1Feijeland Sort 21.19203Coll Sort13-Smooth Comb Sort.625Lemon Sort1Lime Sort1Orange Sort1Grapefruit Sort1Kinnow Sort2Kiyomi Sort2Chinotto Sort2Mandarin Orange Sort2Red Sort2Invered Sort2Citron Sort1Single Directional Chinotto Sort2Single Directional Mandarin Orange Sort2Quasi-Rotating Red Lime1Rotating Red Lime Sort1Hyuganatsu Sort2Rotating Hyuganatsu Sort2Orange Sort 21Gnome Sort0.2Grass Sort0.3Grass Sort 20.3Bubbly Gnome Sort0.3Float Sort0.3Odd-Even Sort1Base 3 Odd-Even Sort1Base 4 Odd-Even Sort1Base n/16 Odd-Even Sort1Rouge Odd-Even Sort2Comb Odd-Even Sort2Odd then Even Sort0.75Odd then Even Sort + Merge0.75Quick Sort1Stable Quick Sort2LR Quick Sort1Random Pivot Quick Sort1Median Quicksort2Circle Sort3Quasi-Circle Sort2Circloid Sort33/4 Circle Sort3030Bladson Sort3Bladson Sort 23Bitonic Circle Sort3Optimized Stooge Sort?3Flop Sort2Flap Sort2Weave Sort.625Weave Sort 21Base-3 Weave Sort.625Base-4 Weave Sort.625Base-4 Weave Sort 21Bottom-Top Weave Sort1Recursive Comb Sort.625Iterative Weave Sort.625Rhode Sort.25Imsimm Sort.5Imsimm Sort 2.5Pop Sort 2.5Crack Sort 2.5Single Directional Pop Sort 2.5V Sort1.5Pseudo Odd-Even Sort0.1Flauchtziht Sort0.5Selection Sort2Rotating Selection Sort2Double Selection Sort1Sandpaper Sort0.5Double Sandpaper Sort0.5Bad Sort2424Heap Sort0.5Ternary Heap Sort0.5Quaternary Heap Sort0.5Base 64 Heap Sort0.5Base n Heap Sort0.5Base-n/16 Heap Sort0.5Base-log n Heap Sort0.5Unary Heap Sort0.15Base 1.5 Heap Sort0.5Insertion Sort2Binary Insertion Sort2Linebinary Insertion Sort2Shell Sort0.75Ciura Gap Shell Sort1Progressive Sort2Progressive Sort 22Y-Progressive Sort2Merge Sort2In-Place Merge Sort1Bottom-Up Merge Sort2Iterative Merge Sort2Iterative In-Place Merge Sort1In-Place Merge Sort 22Iterative In-Place Merge Sort 22Shell Merge Sort0.5Iterative Shell Merge Sort0.5Binary Insertion Merge Sort2Opti. Quad-Stooge Sort0.5Lazy Opti. Quad-Stooge Sort0.5Opti. Awkward Sort0.5Healy Sort2Bitonic Healy Sort2Bad Merge Sort3Stooge Sort2424Egoots Sort24243/4 Stooge Sort1616Circle Stooge Sort4848Gappy Stooge Sort2020Gappy Stooge Sort 22020Room Stooge Sort3030X-Stooge Sort2020Y-Stooge Sort1616Z-Stooge Sort1313XY-Stooge Sort2020Hyperstooge Sort99Really Bad Sort99Silly Sort3030Slow Sort3030Cocktail Slow Sort4040BSY Slow Sort3030BSY Silly Sort3030Dumb Merge Sort1515Bad Selection Sort1515Less Bogosort464644Insertion Bogosort448484Pogosort448484Bubble Bogosort532325Shell Bogosort530305Exchange Bogosort524245Bogosort77Bozosort77Gorosort77Bakasort771000154091true50Randomized ShuffleAlready SortedReversedAlmost SortedAlmost ReversedFew UniqueReversed Few UniqueAlmost Sorted Few UniqueVery Few UniqueTwo UniqueAlready Sorted Few UniqueV ShapedTent ShapedW ShapedM ShapedSine WaveReversed Sine WaveShuffled Sine WaveInterweavedIntersineDouble LayeredReversed Double LayeredYAV ShapeInterlacedCubicReverse CubicQuinticReverse QuinticQuadraticShuffled QuadraticQuarticShuffled QuarticSquare RootReverse Square RootCube RootReverse Cube RootBell CurveNegative Bell CurveShuffled Bell CurveSincReversed SincShuffled SincDivisor (Sigma 0)Divisor (Sigma 1)Divisors of DivisorsFinal MergeReversed Final MergeSawtoothSawtooth 2Cubic Final MergeQuintic Final MergeCubic SawtoothQuintic SawtoothShuffled Final MergeCircle Final MergeReversed Shuffled Final MergeShuffled Cubic Final MergeShuffled Quintic Final MergeScrambled OddsScrambled HeadScrambled TailScrambled Head + TailDouble Layered ShuffleShuffled TopShuffled BottomPartitioned ArrayRotatedReverse RotatedPartially RotatedPartially Rotated Other DirectionBinary Digit ReversalTernary Digit ReversalQuaternary Digit Reversal1.5-ary Digit ReversalB2DR + BD3R AB2DR + BD3R BB3DR + BD2R AB3DR + BD2R BCubic B2DRCubic B3DRCubic B4DRQuintic B2DRQuintic B3DRQuintic B4DRBinary Digit Reversal w/o Digit AdditionTernary Digit Reversal w/o Digit AdditionQuaternary Digit Reversal w/o Digit Addition1.5-ary Digit Reversal w/o Digit AdditionFinal RadixReversed Final RadixCircle SortedCircle Sorted Sine WaveReversed Circle SortedFinal Pairwise PassReversed Final Pairwise PassRotate Looping Comb SortedReverse Rotate Looping Comb SortedRecursed Reversals (1/2 Mult Fac)Recursed Reversals (1/3 Mult Fac)Recursed Reversals (2/3 Mult Fac)YAV ShapeRandomized Shuffle,Already Sorted,Reversed,Almost Sorted,Almost Reversed,Few Unique,Reversed Few Unique,Almost Sorted Few Unique,Very Few Unique,Two Unique,Already Sorted Few Unique,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,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,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,Final Radix,Reversed Final Radix,Circle Sorted,Circle Sorted Sine Wave,Reversed Circle Sorted,Final Pairwise Pass,Reversed Final Pairwise Pass,Rotate Looping Comb Sorted,Reverse Rotate Looping Comb Sorted,Recursed Reversals (1/2 Mult Fac),Recursed Reversals (1/3 Mult Fac),Recursed Reversals (2/3 Mult Fac)true50