\:Pokud $n=\vert X\vert \le 1$, skonèíme rovnou.
\:{\new $a\leftarrow 1$, $b\leftarrow n$, $S\leftarrow\emptyset$.}
\:{\new Opakujeme:} {\cmt (právì tøídíme $X[a],\ldots,X[b]$, $S$ je zásobník)}
-\::$m\leftarrow \lfloor (a+b)/2 \rfloor$, $p \leftarrow X[m]$.
-\::Pøeházíme prvky \dots\ $\rightarrow l,r$.
-\::{\new Pokud $r-a > b-l$, prohodíme $(a,r) \leftarrow (l,b)$. \\ {\cmt (interval $(a,r)$ je teï ten men¹í)}}
-\::{\new Pokud $l\ge b$: {\cmt (oba intervaly jsou triviální)}}
+\::Vybereme pivota a pøeházíme prvky \dots\ $\rightarrow l,r$.
+\::{\new Pokud $r-a > b-l$, prohodíme $(a,r) \leftrightarrow (l,b)$. \\ {\cmt (interval $(a,r)$ je teï ten men¹í)}}
+\::{\new Pokud $r>a$:} {\cmt (oba intervaly jsou netriviální)}
+\:::{\new Pøidáme $(l,b)$ do~$S$.} {\cmt (vìt¹í na~zásobník)}
+\:::{\new $(a,b) \leftarrow (a,r)$.} {\cmt (pokraèujeme men¹ím)}
+\::{\new Jinak pokud $b>l$: $(a,b) \leftarrow (l,b)$.} {\cmt (vìt¹í netriviální)}
+\::{\new Jinak:} {\cmt (oba triviální)}
\:::{\new Pokud $S=\emptyset$, skonèíme.}
\:::{\new Jinak odebereme $(a,b)$ z~$S$.}
-\::{\new Jinak: {\cmt (vìt¹í je netriviální)}}
-\:::{\new Pokud $a<r$, pøidáme $(a,r)$ do~$S$ {\cmt (men¹í také)}}
-\:::{\new $(a,b) \leftarrow (l,b)$. {\cmt (pokraèujeme vìt¹ím)}}
\endalgo
{\sit Nyní staèí $\O(\log n)$ pamìti pro zásobník.}
\:{\new Pokud $n=\vert X\vert \le K$, setøídíme InsertSortem.}
\:$a=1$, $b=n$, $S=\emptyset$.
\:Opakujeme:
-\::$m\leftarrow \lfloor (a+b)/2 \rfloor$, $p \leftarrow X[m]$.
-\::Pøeházíme prvky \dots\ $\rightarrow l,r$.
-\::Pokud $r-a > b-l$, prohodíme $(a,r) \leftarrow (l,b)$.
-\::{\new Pokud $b-l \le K$: {\cmt (oba intervaly jsou triviální)}}
-\:::Pokud $S=\emptyset$, skonèíme.
-\:::Jinak odebereme $(a,b)$ z~$S$.
-\::Jinak: {\cmt (vìt¹í je netriviální)}
-\:::{\new Pokud $r-a > K$, pøidej $(a,r)$ do~$S$ {\cmt (men¹í také)}}
-\:::$(a,b) \leftarrow (l,b)$. {\cmt (pokraèujeme vìt¹ím)}
+\::Vybereme pivota a pøeházíme prvky \dots\ $\rightarrow l,r$.
+\::Pokud $r-a > b-l$, prohodíme $(a,r) \leftrightarrow (l,b)$.
+\::{Pokud {\new $r-a > K$}:} {\cmt (oba intervaly jsou netriviální)}
+\:::{Pøidáme $(l,b)$ do~$S$.} {\cmt (vìt¹í na~zásobník)}
+\:::{$(a,b) \leftarrow (a,r)$.} {\cmt (pokraèujeme men¹ím)}
+\::{Jinak pokud {\new $b-l > K$}: $(a,b) \leftarrow (l,b)$.} {\cmt (vìt¹í netriviální)}
+\::{Jinak:} {\cmt (oba triviální)}
+\:::{Pokud $S=\emptyset$, skonèíme.}
+\:::{Jinak odebereme $(a,b)$ z~$S$.}
\:{\new Dotøídíme posloupnost InsertSortem.} \\ {\cmt (ka¾dý prvek se posune o~nejvý¹e~$K$, tak¾e je to lineární)}
\endalgo