<snapdata remixID="13010329"><project name="Stable In-place quicksort" app="Snap! 9.0, https://snap.berkeley.edu" version="2"><notes></notes><thumbnail>data:image/png;base64,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</thumbnail><scenes select="1"><scene name="Stable In-place quicksort"><notes></notes><hidden></hidden><headers></headers><code></code><blocks><block-definition s="For %&apos;initialization&apos; %&apos;Condition&apos; %&apos;Increment&apos; %&apos;Commands&apos;" type="command" category="control"><header></header><code></code><translations></translations><inputs><input type="%cmdRing"></input><input type="%predRing"></input><input type="%cmdRing"></input><input type="%cs"></input></inputs><script><block s="doRun"><block var="initialization"/><list></list></block><block s="doUntil"><block s="reportNot"><block s="evaluate"><block var="Condition"/><list></list></block></block><script><block s="doRun"><block var="Commands"/><list></list></block><block s="doRun"><block var="Increment"/><list></list></block></script></block></script></block-definition><block-definition s="Startup" type="command" category="other"><header></header><code></code><translations></translations><inputs></inputs><script><block s="doSetGlobalFlag"><l><option>turbo mode</option></l><l><bool>true</bool></l></block><block s="clear"></block><block s="hide"></block><block s="gotoXY"><l>0</l><l>0</l></block><block s="doAsk"><l>Length</l></block><block s="doUntil"><block s="reportIsA"><block s="getLastAnswer"></block><l><option>number</option></l></block><script><block s="doAsk"><l>Length</l></block></script></block><block s="doSetVar"><l>Length</l><block s="getLastAnswer"></block></block><block s="doSetVar"><l>message</l><custom-block s="multiline %mlt"><l>1) Unique random&#xD;2) Non-unique random&#xD;3) O(√N) unique random&#xD;4) O(lgN) unique random&#xD;5) Sorted&#xD;6) Reversed&#xD;7) Grey Code&#xD;8) Bit-Reversed</l></custom-block></block><block s="doShowVar"><l>message</l></block><block s="doUntil"><block s="reportListContainsItem"><block s="reportNumbers"><l>1</l><l>8</l></block><block s="getLastAnswer"></block></block><script><block s="doAsk"><l>Input?</l></block></script></block><block s="doHideVar"><l>message</l></block><block s="doRepeat"><l>1</l><script><block s="doRun"><block s="reportListItem"><block s="getLastAnswer"></block><block s="reportNewList"><list><block s="reifyScript"><script><block s="doSetVar"><l>List</l><block s="reportNewList"><list><block s="reportNewList"><list><l>1</l></list></block></list></block></block><block s="doFor"><l>i</l><l>2</l><block var="Length"/><script><block s="doInsertInList"><block s="reportNewList"><list><block var="i"/></list></block><block s="reportRandom"><l>1</l><block var="i"/></block><block var="List"/></block></script></block><block s="doFor"><l>i</l><l>1</l><block var="Length"/><script><block s="doAddToList"><block s="reportDifference"><block var="i"/><l>1</l></block><block s="reportListItem"><block var="i"/><block var="List"/></block></block></script></block></script><list></list></block><block s="reifyScript"><script><block s="doSetVar"><l>List</l><block s="reportNewList"><list></list></block></block><block s="doRepeat"><block var="Length"/><script><block s="doAddToList"><block s="reportNewList"><list><block s="reportRandom"><l>1</l><block var="Length"/></block><block s="reportListAttribute"><l><option>length</option></l><block var="List"/></block></list></block><block var="List"/></block></script></block></script><list></list></block><block s="reifyScript"><script><block s="doSetVar"><l>List</l><block s="reportNewList"><list></list></block></block><block s="doRepeat"><block var="Length"/><script><block s="doAddToList"><block s="reportNewList"><list><block s="reportVariadicProduct"><list><block s="reportRandom"><l>1</l><block s="reportMonadic"><l><option>ceiling</option></l><block s="reportMonadic"><l><option>lg</option></l><block var="Length"/></block></block></block><block s="reportQuotient"><block var="Length"/><block s="reportMonadic"><l><option>ceiling</option></l><block s="reportMonadic"><l><option>lg</option></l><block var="Length"/></block></block></block></list></block><block s="reportListAttribute"><l><option>length</option></l><block var="List"/></block></list></block><block var="List"/></block></script></block></script><list></list></block><block s="reifyScript"><script><block s="doSetVar"><l>List</l><block s="reportNewList"><list></list></block></block><block s="doRepeat"><block var="Length"/><script><block s="doAddToList"><block s="reportNewList"><list><block s="reportVariadicProduct"><list><block s="reportRandom"><l>1</l><block s="reportMonadic"><l><option>2^</option></l><block s="reportMonadic"><l><option>ceiling</option></l><block s="reportMonadic"><l><option>lg</option></l><block s="reportMonadic"><l><option>sqrt</option></l><block var="Length"/></block></block></block></block></block><block s="reportQuotient"><block var="Length"/><block s="reportMonadic"><l><option>2^</option></l><block s="reportMonadic"><l><option>ceiling</option></l><block s="reportMonadic"><l><option>lg</option></l><block s="reportMonadic"><l><option>sqrt</option></l><block var="Length"/></block></block></block></block></block></list></block><block s="reportListAttribute"><l><option>length</option></l><block var="List"/></block></list></block><block var="List"/></block></script></block></script><list></list></block><block s="reifyScript"><script><block s="doSetVar"><l>List</l><block s="reportMap"><block s="reifyReporter"><autolambda><block s="reportNewList"><list><l></l><block s="reportDifference"><l></l><l>1</l></block></list></block></autolambda><list></list></block><block s="reportNumbers"><l>1</l><block var="Length"/></block></block></block></script><list></list></block><block s="reifyScript"><script><block s="doSetVar"><l>List</l><block s="reportMap"><block s="reifyReporter"><autolambda><block s="reportNewList"><list><l></l><block s="reportDifference"><block var="Length"/><l></l></block></list></block></autolambda><list></list></block><block s="reportNumbers"><block var="Length"/><l>1</l></block></block></block></script><list></list></block><block s="reifyScript"><script><block s="doSetVar"><l>Length</l><block s="reportMonadic"><l><option>2^</option></l><block s="reportMonadic"><l><option>ceiling</option></l><block s="reportMonadic"><l><option>lg</option></l><block var="Length"/></block></block></block></block><block s="doDeclareVariables"><list><l>a</l><l>b</l></list></block><block s="doSetVar"><l>List</l><block s="reportNewList"><list><block s="reportNewList"><list><l>1</l><l>0</l></list></block></list></block></block><block s="doUntil"><block s="reportVariadicEquals"><list><block s="reportListAttribute"><l><option>length</option></l><block var="List"/></block><block var="Length"/></list></block><script><block s="doSetVar"><l>a</l><block s="reportListAttribute"><l><option>length</option></l><block var="List"/></block></block><block s="doFor"><l>i</l><block var="a"/><l>1</l><script><block s="doAddToList"><block s="reportNewList"><list><block s="reportVariadicSum"><list><block s="reportListItem"><l>1</l><block s="reportListItem"><block var="i"/><block var="List"/></block></block><block var="a"/></list></block><block s="reportListAttribute"><l><option>length</option></l><block var="List"/></block></list></block><block var="List"/></block></script></block></script></block></script><list></list></block><block s="reifyScript"><script><block s="doSetVar"><l>Length</l><block s="reportMonadic"><l><option>2^</option></l><block s="reportMonadic"><l><option>ceiling</option></l><block s="reportMonadic"><l><option>lg</option></l><block var="Length"/></block></block></block></block><block s="doDeclareVariables"><list><l>a</l></list></block><block s="doSetVar"><l>a</l><block s="reportNumbers"><l>0</l><block s="reportDifference"><block var="Length"/><l>1</l></block></block></block><block s="doSetVar"><l>List</l><block s="reportMap"><block s="reifyReporter"><autolambda><block s="reportRound"><l>0</l></block></autolambda><list></list></block><block var="a"/></block></block><block s="doUntil"><block s="reportListIsEmpty"><block s="reportKeep"><block s="reifyPredicate"><autolambda><block s="reportVariadicGreaterThan"><list><l></l><l>0</l></list></block></autolambda><list></list></block><block var="a"/></block></block><script><block s="doSetVar"><l>List</l><block s="reportVariadicSum"><list><block s="reportVariadicProduct"><list><l>2</l><block var="List"/></list></block><block s="reportModulus"><block var="a"/><l>2</l></block></list></block></block><block s="doSetVar"><l>a</l><block s="reportMap"><block s="reifyReporter"><autolambda><block s="reportMonadic"><l><option>floor</option></l><block s="reportQuotient"><l></l><l>2</l></block></block></autolambda><list></list></block><block var="a"/></block></block></script></block><block s="doSetVar"><l>List</l><block s="reportMap"><block s="reifyReporter"><autolambda><block s="reportNewList"><list><block s="reportVariadicSum"><list><block s="reportListItem"><l></l><block var="List"/></block><l>1</l></list></block><block s="reportDifference"><l></l><l>1</l></block></list></block></autolambda><list></list></block><block s="reportNumbers"><l>1</l><block var="Length"/></block></block></block></script><list></list></block></list></block></block><list></list></block></script></block><custom-block s="visualize %mult%n"><list></list></custom-block><block s="doSetVar"><l>Comparisons</l><l>0</l></block><block s="doSetVar"><l>Writes</l><l>0</l></block><block s="doSetVar"><l>Reads</l><l>0</l></block><block s="doSetVar"><l>Swaps</l><l>0</l></block></script></block-definition><block-definition s="Peek %&apos;focus&apos;" type="reporter" category="other"><header></header><code></code><translations></translations><inputs><input type="%n"></input></inputs><script><block s="doChangeVar"><l>Reads</l><l>1</l></block><block s="doReport"><block s="reportListItem"><l>1</l><block s="reportListItem"><block s="reportVariadicSum"><list><block var="focus"/><l>1</l></list></block><block var="List"/></block></block></block></script></block-definition><block-definition s="Pair %&apos;left&apos; %&apos;right&apos; %&apos;visualize?&apos;" type="reporter" category="other"><header></header><code></code><translations></translations><inputs><input type="%n"></input><input type="%n"></input><input type="%b"></input></inputs><script><block s="doIf"><block var="visualize?"/><script><custom-block s="visualize %mult%n"><list><block var="left"/><block var="right"/></list></custom-block></script><list></list></block><block s="doSetVar"><l>left</l><custom-block s="Peek %n"><block var="left"/></custom-block></block><block s="doSetVar"><l>right</l><custom-block s="Peek %n"><block var="right"/></custom-block></block><block s="doChangeVar"><l>Comparisons</l><l>1</l></block><block s="doReport"><block s="reportIfElse"><block s="reportVariadicLessThan"><list><block var="left"/><block var="right"/></list></block><l>1</l><block s="reportIfElse"><block s="reportVariadicGreaterThan"><list><block var="left"/><block var="right"/></list></block><l>-1</l><l>0</l></block></block></block></script></block-definition><block-definition s="Pile %&apos;with&apos; %&apos;visualize?&apos;" type="reporter" category="other"><header></header><code></code><translations></translations><inputs><input type="%n"></input><input type="%b"></input></inputs><script><block s="doIf"><block var="visualize?"/><script><custom-block s="visualize %mult%n"><list><block var="with"/></list></custom-block></script><list></list></block><block s="doDeclareVariables"><list><l>left</l><l>right</l></list></block><block s="doSetVar"><l>left</l><custom-block s="Peek %n"><block var="with"/></custom-block></block><block s="doSetVar"><l>right</l><custom-block s="Peruse"></custom-block></block><block s="doChangeVar"><l>Comparisons</l><l>1</l></block><block s="doReport"><block s="reportIfElse"><block s="reportVariadicLessThan"><list><block var="left"/><block var="right"/></list></block><l>1</l><block s="reportIfElse"><block s="reportVariadicGreaterThan"><list><block var="left"/><block var="right"/></list></block><l>-1</l><l>0</l></block></block></block></script></block-definition><block-definition s="Peruse" type="reporter" category="other"><header></header><code></code><translations></translations><inputs></inputs><script><block s="doReport"><block s="reportListItem"><l>1</l><block var="Pocket"/></block></block></script></block-definition><block-definition s="multiline %&apos;text&apos;" type="reporter" category="operators"><header></header><code></code><translations>pt:o texto multilinha _&#xD;</translations><inputs><input type="%mlt"></input></inputs><script><block s="doReport"><block var="text"/></block></script></block-definition><block-definition s="Rotate %&apos;l&apos; %&apos;m&apos; %&apos;r&apos;" type="command" category="lists"><header></header><code></code><translations></translations><inputs><input type="%n"></input><input type="%n"></input><input type="%n"></input></inputs><script><block s="doIf"><block s="reportVariadicOr"><list><block s="reportVariadicEquals"><list><block var="l"/><block var="m"/></list></block><block s="reportVariadicEquals"><list><block var="m"/><block var="r"/></list></block></list></block><script><block s="doStopThis"><l><option>this block</option></l></block></script><list></list></block><block s="doIfElse"><block s="reportVariadicEquals"><list><block s="reportDifference"><block var="m"/><block var="l"/></block><block s="reportDifference"><block var="r"/><block var="m"/></block></list></block><script><custom-block s="Block Swap %n %n %b %n %b"><block var="l"/><block var="m"/><l><bool>true</bool></l><block s="reportDifference"><block var="m"/><block var="l"/></block><l/></custom-block></script><script><block s="doDeclareVariables"><list><l>c</l></list></block><block s="doSetVar"><l>c</l><l>0</l></block><block s="doUntil"><block s="reportVariadicOr"><list><block s="reportVariadicGreaterThanOrEquals"><list><block s="reportVariadicSum"><list><block var="l"/><block var="c"/></list></block><block s="reportDifference"><block s="reportDifference"><block var="m"/><l>1</l></block><block var="c"/></block></list></block><block s="reportVariadicGreaterThanOrEquals"><list><block s="reportVariadicSum"><list><block var="m"/><block var="c"/></list></block><block s="reportDifference"><block s="reportDifference"><block var="r"/><l>1</l></block><block var="c"/></block></list></block></list></block><script><custom-block s="Pocket %n"><block s="reportVariadicSum"><list><block var="l"/><block var="c"/></list></block></custom-block><custom-block s="Pull %n to %n %b"><block s="reportVariadicSum"><list><block var="m"/><block var="c"/></list></block><block s="reportVariadicSum"><list><block var="l"/><block var="c"/></list></block><l/></custom-block><custom-block s="Pull %n to %n %b"><block s="reportDifference"><block s="reportDifference"><block var="r"/><l>1</l></block><block var="c"/></block><block s="reportVariadicSum"><list><block var="m"/><block var="c"/></list></block><l/></custom-block><custom-block s="Pull %n to %n %b"><block s="reportDifference"><block s="reportDifference"><block var="m"/><l>1</l></block><block var="c"/></block><block s="reportDifference"><block s="reportDifference"><block var="r"/><l>1</l></block><block var="c"/></block><l/></custom-block><custom-block s="Push %n %b"><block s="reportDifference"><block s="reportDifference"><block var="m"/><l>1</l></block><block var="c"/></block><l/></custom-block><block s="doChangeVar"><l>c</l><l>1</l></block></script></block><block s="doIfElse"><block s="reportVariadicLessThan"><list><block s="reportVariadicSum"><list><block var="l"/><block var="c"/></list></block><block s="reportDifference"><block s="reportDifference"><block var="m"/><l>1</l></block><block var="c"/></block></list></block><script><block s="doUntil"><block s="reportVariadicGreaterThanOrEquals"><list><block s="reportVariadicSum"><list><block var="l"/><block var="c"/></list></block><block s="reportDifference"><block s="reportDifference"><block var="m"/><l>1</l></block><block var="c"/></block></list></block><script><custom-block s="Pocket %n"><block s="reportVariadicSum"><list><block var="l"/><block var="c"/></list></block></custom-block><custom-block s="Pull %n to %n %b"><block s="reportDifference"><block s="reportDifference"><block var="r"/><l>1</l></block><block var="c"/></block><block s="reportVariadicSum"><list><block var="l"/><block var="c"/></list></block><l/></custom-block><custom-block s="Pull %n to %n %b"><block s="reportDifference"><block s="reportDifference"><block var="m"/><l>1</l></block><block var="c"/></block><block s="reportDifference"><block s="reportDifference"><block var="r"/><l>1</l></block><block var="c"/></block><l/></custom-block><custom-block s="Push %n %b"><block s="reportDifference"><block s="reportDifference"><block var="m"/><l>1</l></block><block var="c"/></block><l/></custom-block><block s="doChangeVar"><l>c</l><l>1</l></block></script></block></script><script><block s="doUntil"><block s="reportVariadicGreaterThanOrEquals"><list><block s="reportVariadicSum"><list><block var="m"/><block var="c"/></list></block><block s="reportDifference"><block s="reportDifference"><block var="r"/><l>1</l></block><block var="c"/></block></list></block><script><custom-block s="Pocket %n"><block s="reportVariadicSum"><list><block var="l"/><block var="c"/></list></block></custom-block><custom-block s="Pull %n to %n %b"><block s="reportVariadicSum"><list><block var="m"/><block var="c"/></list></block><block s="reportVariadicSum"><list><block var="l"/><block var="c"/></list></block><l/></custom-block><custom-block s="Pull %n to %n %b"><block s="reportDifference"><block s="reportDifference"><block var="r"/><l>1</l></block><block var="c"/></block><block s="reportVariadicSum"><list><block var="m"/><block var="c"/></list></block><l/></custom-block><custom-block s="Push %n %b"><block s="reportDifference"><block s="reportDifference"><block var="r"/><l>1</l></block><block var="c"/></block><l/></custom-block><block s="doChangeVar"><l>c</l><l>1</l></block></script></block></script></block><block s="doUntil"><block s="reportVariadicGreaterThanOrEquals"><list><block s="reportVariadicSum"><list><block var="l"/><block var="c"/></list></block><block s="reportDifference"><block s="reportDifference"><block var="r"/><l>1</l></block><block var="c"/></block></list></block><script><custom-block s="Swap %n %n %b"><block s="reportVariadicSum"><list><block var="l"/><block var="c"/></list></block><block s="reportDifference"><block s="reportDifference"><block var="r"/><l>1</l></block><block var="c"/></block><l><bool>true</bool></l></custom-block><block s="doChangeVar"><l>c</l><l>1</l></block></script></block></script></block></script><scripts><script x="440" y="889.4166666666638"><block s="doIf"><block s="reportVariadicLessThan"><list><block s="reportVariadicSum"><list><block var="l"/><block var="c"/></list></block><block s="reportDifference"><block s="reportDifference"><block var="m"/><l>1</l></block><block var="c"/></block></list></block><script><custom-block s="Swap %n %n %b"><block s="reportVariadicSum"><list><block var="l"/><block var="c"/></list></block><block s="reportDifference"><block s="reportDifference"><block var="m"/><l>1</l></block><block var="c"/></block><l><bool>true</bool></l></custom-block></script><list></list></block><block s="doIf"><block s="reportVariadicLessThan"><list><block s="reportVariadicSum"><list><block var="m"/><block var="c"/></list></block><block s="reportDifference"><block s="reportDifference"><block var="r"/><l>1</l></block><block var="c"/></block></list></block><script><custom-block s="Swap %n %n %b"><block s="reportVariadicSum"><list><block var="m"/><block var="c"/></list></block><block s="reportDifference"><block s="reportDifference"><block var="r"/><l>1</l></block><block var="c"/></block><l><bool>true</bool></l></custom-block></script><list></list></block></script></scripts></block-definition><block-definition s="visualize %&apos;Highlights&apos;" type="command" category="other"><header></header><code></code><translations></translations><inputs><input type="%mult%n">0</input></inputs><script><block s="up"></block><block s="doWarp"><script><block s="clear"></block><block s="setPenColorDimension"><l><option>hue</option></l><l>30</l></block><block s="doFor"><l>i</l><l>1</l><block s="reportListAttribute"><l><option>length</option></l><block var="List"/></block><script><block s="setPenColorDimension"><l><option>hue</option></l><block s="reportVariadicProduct"><list><block s="reportListItem"><l>2</l><block s="reportListItem"><block var="i"/><block var="List"/></block></block><block s="reportQuotient"><l>80</l><block var="Length"/></block></list></block></block><block s="doIfElse"><block s="reportListContainsItem"><block var="Highlights"/><block s="reportDifference"><block var="i"/><l>1</l></block></block><script><block s="setPenColorDimension"><l><option>brightness</option></l><l>20</l></block></script><script><block s="setPenColorDimension"><l><option>brightness</option></l><l>100</l></block></script></block><block s="gotoXY"><block s="reportDifference"><block s="reportVariadicProduct"><list><l>460</l><block s="reportQuotient"><block var="i"/><block s="reportListAttribute"><l><option>length</option></l><block var="List"/></block></block></list></block><l>230</l></block><l>-180</l></block><block s="down"></block><block s="changeYPosition"><block s="reportVariadicProduct"><list><l>270</l><block s="reportQuotient"><block s="reportListItem"><l>1</l><block s="reportListItem"><block var="i"/><block var="List"/></block></block><block s="reportListAttribute"><l><option>length</option></l><block var="List"/></block></block></list></block></block><block s="up"></block></script></block></script></block></script></block-definition><block-definition s="Block Swap %&apos;a&apos; %&apos;b&apos; %&apos;Right?&apos; %&apos;L&apos; %&apos;Visualize?&apos;" type="command" category="lists"><header></header><code></code><translations></translations><inputs><input type="%n"></input><input type="%n"></input><input type="%b">true</input><input type="%n"></input><input type="%b"></input></inputs><script><block s="doIfElse"><block var="Right?"/><script><block s="doFor"><l>i</l><l>0</l><block s="reportDifference"><block var="L"/><l>1</l></block><script><custom-block s="Swap %n %n %b"><block s="reportVariadicSum"><list><block var="a"/><block var="i"/></list></block><block s="reportVariadicSum"><list><block var="b"/><block var="i"/></list></block><block var="Visualize?"/></custom-block></script></block></script><script><block s="doFor"><l>i</l><l>0</l><block s="reportDifference"><block var="L"/><l>1</l></block><script><custom-block s="Swap %n %n %b"><block s="reportDifference"><block var="a"/><block var="i"/></block><block s="reportDifference"><block var="b"/><block var="i"/></block><block var="Visualize?"/></custom-block></script></block></script></block></script><scripts><script x="391" y="166.83333333333326"><block s="doIf"><block var="Visualize?"/><script><custom-block s="visualize %mult%n"><block s="reportConcatenatedLists"><list><block s="reportNumbers"><block var="a"/><block s="reportVariadicSum"><list><block var="a"/><block s="reportDifference"><block var="L"/><l>1</l></block></list></block></block><block s="reportNumbers"><block var="b"/><block s="reportVariadicSum"><list><block var="b"/><block s="reportDifference"><block var="L"/><l>1</l></block></list></block></block></list></block></custom-block></script><list></list></block></script></scripts></block-definition><block-definition s="Swap %&apos;a&apos; %&apos;b&apos; %&apos;Visualize&apos;" type="command" category="lists"><header></header><code></code><translations></translations><inputs><input type="%n"></input><input type="%n"></input><input type="%b">true</input></inputs><script><block s="doDeclareVariables"><list><l>Val</l></list></block><custom-block s="Pocket %n"><block var="a"/></custom-block><custom-block s="Pull %n to %n %b"><block var="b"/><block var="a"/><l/></custom-block><custom-block s="Push %n %b"><block var="b"/><l/></custom-block><block s="doChangeVar"><l>Swaps</l><l>1</l></block><block s="doIf"><block var="Visualize"/><script><custom-block s="visualize %mult%n"><list><block var="a"/><block var="b"/></list></custom-block></script><list></list></block></script></block-definition><block-definition s="Pocket %&apos;index&apos;" type="command" category="other"><header></header><code></code><translations></translations><inputs><input type="%n"></input></inputs><script><block s="doChangeVar"><l>Reads</l><l>1</l></block><block s="doSetVar"><l>Pocket</l><block s="reportListItem"><block s="reportVariadicSum"><list><block var="index"/><l>1</l></list></block><block var="List"/></block></block></script></block-definition><block-definition s="Pull %&apos;from&apos; to %&apos;to&apos; %&apos;visualize?&apos;" type="command" category="other"><header></header><code></code><translations></translations><inputs><input type="%n"></input><input type="%n"></input><input type="%b"></input></inputs><script><block s="doChangeVar"><l>Writes</l><l>1</l></block><block s="doReplaceInList"><block s="reportVariadicSum"><list><block var="to"/><l>1</l></list></block><block var="List"/><block s="reportListItem"><block s="reportVariadicSum"><list><block var="from"/><l>1</l></list></block><block var="List"/></block></block><block s="doIf"><block var="visualize?"/><script><custom-block s="visualize %mult%n"><list><block var="from"/><block var="to"/></list></custom-block></script><list></list></block></script></block-definition><block-definition s="Push %&apos;target&apos; %&apos;visualize&apos;" type="command" category="other"><header></header><code></code><translations></translations><inputs><input type="%n"></input><input type="%b"></input></inputs><script><block s="doChangeVar"><l>Writes</l><l>1</l></block><block s="doReplaceInList"><block s="reportVariadicSum"><list><block var="target"/><l>1</l></list></block><block var="List"/><block var="Pocket"/></block><block s="doSetVar"><l>Pocket</l><l>0</l></block><block s="doIf"><block var="visualize"/><script><custom-block s="visualize %mult%n"><list><block var="target"/></list></custom-block></script><list></list></block></script></block-definition><block-definition s="In-place Quicksort %&apos;Start&apos; %&apos;End&apos;" type="command" category="other"><header></header><code></code><translations></translations><inputs><input type="%n"></input><input type="%n"></input></inputs><script><block s="doIf"><block s="reportVariadicLessThan"><list><block s="reportDifference"><block var="End"/><block var="Start"/></block><l>2</l></list></block><script><block s="doStopThis"><l><option>this block</option></l></block></script><list></list></block><block s="doDeclareVariables"><list><l>Pivot</l><l>Size</l><l>Pointer</l><l>Spot</l><l>Varied?</l></list></block><custom-block s="Pocket %n"><block var="Start"/></custom-block><block s="doSetVar"><l>Pivot</l><block var="Start"/></block><block s="doSetVar"><l>Pointer</l><block s="reportVariadicSum"><list><block var="Start"/><l>1</l></list></block></block><block s="doSetVar"><l>Size</l><l>1</l></block><block s="doSetVar"><l>Varied?</l><block s="reportBoolean"><l><bool>false</bool></l></block></block><block s="doUntil"><block s="reportVariadicEquals"><list><block var="Pointer"/><block var="End"/></list></block><script><block s="doSetVar"><l>Spot</l><custom-block s="Pair %n %n %b"><block var="Pivot"/><block var="Pointer"/><l><bool>true</bool></l></custom-block></block><block s="doIfElse"><block s="reportVariadicEquals"><list><block var="Spot"/><l>-1</l></list></block><script><custom-block s="Swap %n %n %b"><block var="Pointer"/><block s="reportDifference"><block var="Pointer"/><block var="Size"/></block><l><bool>false</bool></l></custom-block><block s="doIf"><block s="reportVariadicEquals"><list><block var="Pivot"/><block s="reportDifference"><block var="Pointer"/><block var="Size"/></block></list></block><script><block s="doChangeVar"><l>Pivot</l><block var="Size"/></block></script><list></list></block></script><script><block s="doIf"><block s="reportVariadicAnd"><list><block s="reportNot"><block var="Varied?"/></block><block s="reportVariadicEquals"><list><block var="Spot"/><l>1</l></list></block></list></block><script><block s="doSetVar"><l>Varied?</l><block s="reportBoolean"><l><bool>true</bool></l></block></block></script><list></list></block><block s="doIf"><block s="reportVariadicGreaterThan"><list><block s="reportDifference"><block var="Pointer"/><block var="Pivot"/></block><l>1</l></list></block><script><custom-block s="Pocket %n"><block var="Pointer"/></custom-block><block s="doSetVar"><l>Spot</l><block s="reportDifference"><block var="Pointer"/><l>1</l></block></block><block s="doUntil"><block s="reportVariadicEquals"><list><block var="Spot"/><block var="Pivot"/></list></block><script><custom-block s="Pull %n to %n %b"><block var="Spot"/><block s="reportVariadicSum"><list><block var="Spot"/><l>1</l></list></block><l><bool>false</bool></l></custom-block><block s="doChangeVar"><l>Spot</l><l>-1</l></block></script></block><custom-block s="Push %n %b"><block s="reportVariadicSum"><list><block var="Spot"/><l>1</l></list></block><l><bool>false</bool></l></custom-block></script><list></list></block><block s="doChangeVar"><l>Size</l><l>1</l></block></script></block><block s="doChangeVar"><l>Pointer</l><l>1</l></block></script></block><block s="doSetVar"><l>Pointer</l><block s="reportDifference"><block var="End"/><block var="Size"/></block></block><block s="doSetVar"><l>Spot</l><block var="Pivot"/></block><block s="doUntil"><block s="reportVariadicGreaterThanOrEquals"><list><block var="Pointer"/><block var="Spot"/></list></block><script><custom-block s="Swap %n %n %b"><block var="Pointer"/><block var="Spot"/><l><bool>true</bool></l></custom-block><block s="doChangeVar"><l>Pointer</l><l>1</l></block><block s="doChangeVar"><l>Spot</l><l>-1</l></block></script></block><block s="doSetVar"><l>Pointer</l><block s="reportVariadicSum"><list><block var="Pivot"/><l>1</l></list></block></block><block s="doSetVar"><l>Spot</l><block s="reportDifference"><block var="End"/><l>1</l></block></block><block s="doUntil"><block s="reportVariadicGreaterThanOrEquals"><list><block var="Pointer"/><block var="Spot"/></list></block><script><custom-block s="Swap %n %n %b"><block var="Pointer"/><block var="Spot"/><l><bool>true</bool></l></custom-block><block s="doChangeVar"><l>Pointer</l><l>1</l></block><block s="doChangeVar"><l>Spot</l><l>-1</l></block></script></block><custom-block s="In-place Quicksort %n %n"><block var="Start"/><block s="reportDifference"><block var="End"/><block var="Size"/></block></custom-block><block s="doIf"><block var="Varied?"/><script><custom-block s="In-place Quicksort %n %n"><block s="reportDifference"><block var="End"/><block s="reportDifference"><block var="Size"/><l>1</l></block></block><block var="End"/></custom-block></script><list></list></block></script></block-definition></blocks><stage name="Stage" width="480" height="360" costume="0" color="255,255,255,1" tempo="60" threadsafe="false" penlog="false" volume="100" pan="0" lines="round" ternary="false" hyperops="true" codify="false" inheritance="true" sublistIDs="false" id="1663"><pentrails>data:image/png;base64,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</pentrails><costumes><list struct="atomic" id="1664"></list></costumes><sounds><list struct="atomic" id="1665"></list></sounds><variables></variables><blocks></blocks><scripts></scripts><sprites select="1"><sprite name="Sprite" idx="1" x="230" y="89.99999999999989" heading="270" scale="1" volume="100" pan="0" rotation="1" draggable="true" hidden="true" costume="0" color="0,207.1875,255,1" pen="tip" id="1670"><costumes><list struct="atomic" id="1671"></list></costumes><sounds><list struct="atomic" id="1672"></list></sounds><blocks></blocks><variables></variables><scripts><script x="30" y="58"><block s="receiveGo"></block><custom-block s="Startup"></custom-block><custom-block s="In-place Quicksort %n %n"><l>0</l><block var="Length"/></custom-block><custom-block s="visualize %mult%n"><list></list></custom-block></script><script x="783.79052734375" y="90.26666666666677"><block s="doRepeat"><l>1</l><script><block s="doRun"><block s="reifyScript"><script></script><list></list></block><list></list></block></script></block><custom-block s="visualize %mult%n"><list></list></custom-block><block s="doSetVar"><l>Comparisons</l><l>0</l></block><block s="doSetVar"><l>Writes</l><l>0</l></block><block s="doSetVar"><l>Reads</l><l>0</l></block><block s="doSetVar"><l>Swaps</l><l>0</l></block></script><script x="29" y="518.3333333333334"><block s="reportVariadicLessThanOrEquals"><block s="reportMap"><block s="reifyPredicate"><autolambda><block s="reportListItem"><l>1</l><block s="reportListItem"><l></l><block var="List"/></block></block></autolambda><list></list></block><block s="reportNumbers"><l>1</l><block var="Length"/></block></block></block></script></scripts></sprite><watcher var="List" style="normal" x="165.5982368168568" y="9.765766618330382" color="243,118,29" hidden="true"/><watcher var="Pocket" style="normal" x="11.861111111111086" y="11.861111111111107" color="243,118,29" hidden="true"/><watcher var="Reads" style="normal" x="-0.35550130645196987" y="0.7782732132089194" color="243,118,29"/><watcher var="Writes" style="normal" x="0.6713424074469003" y="16.3984097186205" color="243,118,29"/><watcher var="Comparisons" style="normal" x="68.69564132495975" y="0.6450732626208833" color="243,118,29"/><watcher var="Swaps" style="normal" x="92.14330264842647" y="16.88398445901592" color="243,118,29"/><watcher var="message" style="normal" x="70.20418207853982" y="52.08713491787475" color="243,118,29" hidden="true"/><watcher var="Length" style="normal" x="185.4636310167209" y="0.32705220107035515" color="243,118,29" hidden="true"/></sprites></stage><variables><variable name="Reads"><l>28459</l></variable><variable name="Comparisons"><l>8192</l></variable><variable name="Writes"><l>702912</l></variable><variable name="Swaps"><l>4288</l></variable><variable name="Length"><l>256</l></variable><variable name="List"><list id="1740"><item><list struct="atomic" id="1741">1,0</list></item><item><list struct="atomic" id="1742">2,1</list></item><item><list struct="atomic" id="1743">3,3</list></item><item><list struct="atomic" id="1744">4,2</list></item><item><list struct="atomic" id="1745">5,7</list></item><item><list struct="atomic" id="1746">6,6</list></item><item><list struct="atomic" id="1747">7,4</list></item><item><list struct="atomic" id="1748">8,5</list></item><item><list struct="atomic" id="1749">9,15</list></item><item><list struct="atomic" id="1750">10,14</list></item><item><list struct="atomic" id="1751">11,12</list></item><item><list struct="atomic" id="1752">12,13</list></item><item><list struct="atomic" id="1753">13,8</list></item><item><list struct="atomic" id="1754">14,9</list></item><item><list struct="atomic" id="1755">15,11</list></item><item><list struct="atomic" id="1756">16,10</list></item><item><list struct="atomic" id="1757">17,31</list></item><item><list struct="atomic" id="1758">18,30</list></item><item><list struct="atomic" id="1759">19,28</list></item><item><list struct="atomic" id="1760">20,29</list></item><item><list struct="atomic" id="1761">21,24</list></item><item><list struct="atomic" id="1762">22,25</list></item><item><list struct="atomic" id="1763">23,27</list></item><item><list struct="atomic" id="1764">24,26</list></item><item><list struct="atomic" id="1765">25,16</list></item><item><list struct="atomic" id="1766">26,17</list></item><item><list struct="atomic" id="1767">27,19</list></item><item><list struct="atomic" id="1768">28,18</list></item><item><list struct="atomic" id="1769">29,23</list></item><item><list struct="atomic" id="1770">30,22</list></item><item><list struct="atomic" id="1771">31,20</list></item><item><list struct="atomic" id="1772">32,21</list></item><item><list struct="atomic" id="1773">33,63</list></item><item><list struct="atomic" id="1774">34,62</list></item><item><list struct="atomic" id="1775">35,60</list></item><item><list struct="atomic" id="1776">36,61</list></item><item><list struct="atomic" id="1777">37,56</list></item><item><list struct="atomic" id="1778">38,57</list></item><item><list struct="atomic" id="1779">39,59</list></item><item><list struct="atomic" id="1780">40,58</list></item><item><list struct="atomic" id="1781">41,48</list></item><item><list struct="atomic" id="1782">42,49</list></item><item><list struct="atomic" id="1783">43,51</list></item><item><list struct="atomic" id="1784">44,50</list></item><item><list struct="atomic" id="1785">45,55</list></item><item><list struct="atomic" id="1786">46,54</list></item><item><list struct="atomic" id="1787">47,52</list></item><item><list struct="atomic" id="1788">48,53</list></item><item><list struct="atomic" id="1789">49,32</list></item><item><list struct="atomic" id="1790">50,33</list></item><item><list struct="atomic" id="1791">51,35</list></item><item><list struct="atomic" id="1792">52,34</list></item><item><list struct="atomic" id="1793">53,39</list></item><item><list struct="atomic" id="1794">54,38</list></item><item><list struct="atomic" id="1795">55,36</list></item><item><list struct="atomic" id="1796">56,37</list></item><item><list struct="atomic" id="1797">57,47</list></item><item><list struct="atomic" id="1798">58,46</list></item><item><list struct="atomic" id="1799">59,44</list></item><item><list struct="atomic" id="1800">60,45</list></item><item><list struct="atomic" id="1801">61,40</list></item><item><list struct="atomic" id="1802">62,41</list></item><item><list struct="atomic" id="1803">63,43</list></item><item><list struct="atomic" id="1804">64,42</list></item><item><list struct="atomic" id="1805">65,127</list></item><item><list struct="atomic" id="1806">66,126</list></item><item><list struct="atomic" id="1807">67,124</list></item><item><list struct="atomic" id="1808">68,125</list></item><item><list struct="atomic" id="1809">69,120</list></item><item><list struct="atomic" id="1810">70,121</list></item><item><list struct="atomic" id="1811">71,123</list></item><item><list struct="atomic" id="1812">72,122</list></item><item><list struct="atomic" id="1813">73,112</list></item><item><list struct="atomic" id="1814">74,113</list></item><item><list struct="atomic" id="1815">75,115</list></item><item><list struct="atomic" id="1816">76,114</list></item><item><list struct="atomic" id="1817">77,119</list></item><item><list struct="atomic" id="1818">78,118</list></item><item><list struct="atomic" id="1819">79,116</list></item><item><list struct="atomic" id="1820">80,117</list></item><item><list struct="atomic" id="1821">81,96</list></item><item><list struct="atomic" id="1822">82,97</list></item><item><list struct="atomic" id="1823">83,99</list></item><item><list struct="atomic" id="1824">84,98</list></item><item><list struct="atomic" id="1825">85,103</list></item><item><list struct="atomic" id="1826">86,102</list></item><item><list struct="atomic" id="1827">87,100</list></item><item><list struct="atomic" id="1828">88,101</list></item><item><list struct="atomic" id="1829">89,111</list></item><item><list struct="atomic" id="1830">90,110</list></item><item><list struct="atomic" id="1831">91,108</list></item><item><list struct="atomic" id="1832">92,109</list></item><item><list struct="atomic" id="1833">93,104</list></item><item><list struct="atomic" id="1834">94,105</list></item><item><list struct="atomic" id="1835">95,107</list></item><item><list struct="atomic" id="1836">96,106</list></item><item><list struct="atomic" id="1837">97,64</list></item><item><list struct="atomic" id="1838">98,65</list></item><item><list struct="atomic" id="1839">99,67</list></item><item><list struct="atomic" id="1840">100,66</list></item><item><list struct="atomic" id="1841">101,71</list></item><item><list struct="atomic" id="1842">102,70</list></item><item><list struct="atomic" id="1843">103,68</list></item><item><list struct="atomic" id="1844">104,69</list></item><item><list struct="atomic" id="1845">105,79</list></item><item><list struct="atomic" id="1846">106,78</list></item><item><list struct="atomic" id="1847">107,76</list></item><item><list struct="atomic" id="1848">108,77</list></item><item><list struct="atomic" id="1849">109,72</list></item><item><list struct="atomic" id="1850">110,73</list></item><item><list struct="atomic" id="1851">111,75</list></item><item><list struct="atomic" id="1852">112,74</list></item><item><list struct="atomic" id="1853">113,95</list></item><item><list struct="atomic" id="1854">114,94</list></item><item><list struct="atomic" id="1855">115,92</list></item><item><list struct="atomic" id="1856">116,93</list></item><item><list struct="atomic" id="1857">117,88</list></item><item><list struct="atomic" id="1858">118,89</list></item><item><list struct="atomic" id="1859">119,91</list></item><item><list struct="atomic" id="1860">120,90</list></item><item><list struct="atomic" id="1861">121,80</list></item><item><list struct="atomic" id="1862">122,81</list></item><item><list struct="atomic" id="1863">123,83</list></item><item><list struct="atomic" id="1864">124,82</list></item><item><list struct="atomic" id="1865">125,87</list></item><item><list struct="atomic" id="1866">126,86</list></item><item><list struct="atomic" id="1867">127,84</list></item><item><list struct="atomic" id="1868">128,85</list></item><item><list struct="atomic" id="1869">129,255</list></item><item><list struct="atomic" id="1870">130,254</list></item><item><list struct="atomic" id="1871">131,252</list></item><item><list struct="atomic" id="1872">132,253</list></item><item><list struct="atomic" id="1873">133,248</list></item><item><list struct="atomic" id="1874">134,249</list></item><item><list struct="atomic" id="1875">135,251</list></item><item><list struct="atomic" id="1876">136,250</list></item><item><list struct="atomic" id="1877">137,240</list></item><item><list struct="atomic" id="1878">138,241</list></item><item><list struct="atomic" id="1879">139,243</list></item><item><list struct="atomic" id="1880">140,242</list></item><item><list struct="atomic" id="1881">141,247</list></item><item><list struct="atomic" id="1882">142,246</list></item><item><list struct="atomic" id="1883">143,244</list></item><item><list struct="atomic" id="1884">144,245</list></item><item><list struct="atomic" id="1885">145,224</list></item><item><list struct="atomic" id="1886">146,225</list></item><item><list struct="atomic" id="1887">147,227</list></item><item><list struct="atomic" id="1888">148,226</list></item><item><list struct="atomic" id="1889">149,231</list></item><item><list struct="atomic" id="1890">150,230</list></item><item><list struct="atomic" id="1891">151,228</list></item><item><list struct="atomic" id="1892">152,229</list></item><item><list struct="atomic" id="1893">153,239</list></item><item><list struct="atomic" id="1894">154,238</list></item><item><list struct="atomic" id="1895">155,236</list></item><item><list struct="atomic" id="1896">156,237</list></item><item><list struct="atomic" id="1897">157,232</list></item><item><list struct="atomic" id="1898">158,233</list></item><item><list struct="atomic" id="1899">159,235</list></item><item><list struct="atomic" id="1900">160,234</list></item><item><list struct="atomic" id="1901">161,192</list></item><item><list struct="atomic" id="1902">162,193</list></item><item><list struct="atomic" id="1903">163,195</list></item><item><list struct="atomic" id="1904">164,194</list></item><item><list struct="atomic" id="1905">165,199</list></item><item><list struct="atomic" id="1906">166,198</list></item><item><list struct="atomic" id="1907">167,196</list></item><item><list struct="atomic" id="1908">168,197</list></item><item><list struct="atomic" id="1909">169,207</list></item><item><list struct="atomic" id="1910">170,206</list></item><item><list struct="atomic" id="1911">171,204</list></item><item><list struct="atomic" id="1912">172,205</list></item><item><list struct="atomic" id="1913">173,200</list></item><item><list struct="atomic" id="1914">174,201</list></item><item><list struct="atomic" id="1915">175,203</list></item><item><list struct="atomic" id="1916">176,202</list></item><item><list struct="atomic" id="1917">177,223</list></item><item><list struct="atomic" id="1918">178,222</list></item><item><list struct="atomic" id="1919">179,220</list></item><item><list struct="atomic" id="1920">180,221</list></item><item><list struct="atomic" id="1921">181,216</list></item><item><list struct="atomic" id="1922">182,217</list></item><item><list struct="atomic" id="1923">183,219</list></item><item><list struct="atomic" id="1924">184,218</list></item><item><list struct="atomic" id="1925">185,208</list></item><item><list struct="atomic" id="1926">186,209</list></item><item><list struct="atomic" id="1927">187,211</list></item><item><list struct="atomic" id="1928">188,210</list></item><item><list struct="atomic" id="1929">189,215</list></item><item><list struct="atomic" id="1930">190,214</list></item><item><list struct="atomic" id="1931">191,212</list></item><item><list struct="atomic" id="1932">192,213</list></item><item><list struct="atomic" id="1933">193,128</list></item><item><list struct="atomic" id="1934">194,129</list></item><item><list struct="atomic" id="1935">195,131</list></item><item><list struct="atomic" id="1936">196,130</list></item><item><list struct="atomic" id="1937">197,135</list></item><item><list struct="atomic" id="1938">198,134</list></item><item><list struct="atomic" id="1939">199,132</list></item><item><list struct="atomic" id="1940">200,133</list></item><item><list struct="atomic" id="1941">201,143</list></item><item><list struct="atomic" id="1942">202,142</list></item><item><list struct="atomic" id="1943">203,140</list></item><item><list struct="atomic" id="1944">204,141</list></item><item><list struct="atomic" id="1945">205,136</list></item><item><list struct="atomic" id="1946">206,137</list></item><item><list struct="atomic" id="1947">207,139</list></item><item><list struct="atomic" id="1948">208,138</list></item><item><list struct="atomic" id="1949">209,159</list></item><item><list struct="atomic" id="1950">210,158</list></item><item><list struct="atomic" id="1951">211,156</list></item><item><list struct="atomic" id="1952">212,157</list></item><item><list struct="atomic" id="1953">213,152</list></item><item><list struct="atomic" id="1954">214,153</list></item><item><list struct="atomic" id="1955">215,155</list></item><item><list struct="atomic" id="1956">216,154</list></item><item><list struct="atomic" id="1957">217,144</list></item><item><list struct="atomic" id="1958">218,145</list></item><item><list struct="atomic" id="1959">219,147</list></item><item><list struct="atomic" id="1960">220,146</list></item><item><list struct="atomic" id="1961">221,151</list></item><item><list struct="atomic" id="1962">222,150</list></item><item><list struct="atomic" id="1963">223,148</list></item><item><list struct="atomic" id="1964">224,149</list></item><item><list struct="atomic" id="1965">225,191</list></item><item><list struct="atomic" id="1966">226,190</list></item><item><list struct="atomic" id="1967">227,188</list></item><item><list struct="atomic" id="1968">228,189</list></item><item><list struct="atomic" id="1969">229,184</list></item><item><list struct="atomic" id="1970">230,185</list></item><item><list struct="atomic" id="1971">231,187</list></item><item><list struct="atomic" id="1972">232,186</list></item><item><list struct="atomic" id="1973">233,176</list></item><item><list struct="atomic" id="1974">234,177</list></item><item><list struct="atomic" id="1975">235,179</list></item><item><list struct="atomic" id="1976">236,178</list></item><item><list struct="atomic" id="1977">237,183</list></item><item><list struct="atomic" id="1978">238,182</list></item><item><list struct="atomic" id="1979">239,180</list></item><item><list struct="atomic" id="1980">240,181</list></item><item><list struct="atomic" id="1981">241,160</list></item><item><list struct="atomic" id="1982">242,161</list></item><item><list struct="atomic" id="1983">243,163</list></item><item><list struct="atomic" id="1984">244,162</list></item><item><list struct="atomic" id="1985">245,167</list></item><item><list struct="atomic" id="1986">246,166</list></item><item><list struct="atomic" id="1987">247,164</list></item><item><list struct="atomic" id="1988">248,165</list></item><item><list struct="atomic" id="1989">249,175</list></item><item><list struct="atomic" id="1990">250,174</list></item><item><list struct="atomic" id="1991">251,172</list></item><item><list struct="atomic" id="1992">252,173</list></item><item><list struct="atomic" id="1993">253,168</list></item><item><list struct="atomic" id="1994">254,169</list></item><item><list struct="atomic" id="1995">255,171</list></item><item><list struct="atomic" id="1996">256,170</list></item></list></variable><variable name="message"><l>1) Unique random&#xD;2) Non-unique random&#xD;3) O(√N) unique random&#xD;4) O(lgN) unique random&#xD;5) Sorted&#xD;6) Reversed&#xD;7) Grey Code&#xD;8) Bit-Reversed</l></variable><variable name="Pocket"><l>0</l></variable></variables></scene></scenes></project><media name="Stable In-place quicksort" app="Snap! 9.0, https://snap.berkeley.edu" version="2"></media></snapdata>