Quick Sort

Quicksort(l, r)

If r>l then {

@v:=a[r];@i:=l-1;@j:=r;

@repeat @@@@@@@@@@@@@@

@@repeat i:=i+1 until a[i]v; @@@@@

@@repeat j:=j-1 until a[j]v;@@@@@@i:=partiton(l,r);

@@t:=a[i];@a[i]:=a[j];@a[j]:=t;

@until@ji;@@@@@@@@@@@@<---until j<i;

@a[j]:=a[i];@a[i]:=a[r];@a[r]:=t;@@@@<---a[r]<--->a[i]

@quicksort(l,i-1);@@@@@@@@@@<---quicksort(l,j);

@quicksort(i+1,r);

}

@

i:=Partition(l,r)

@ @1@ 2@3@4 @5@6@7@ 8@9@10@11@12@13@14@15

---------------------------------------------------------------------------------------------

-@A@S@O@R@T@I@N@G@E@X@ A@ M@ P@@L@E <---sentinel

@@ A@A@@@@@@@@@@@@@@S@ M@ P@@ L@E

@@ A@A@E@@@@@@@@@O@X@S@ M@ P@@ L@E

@@ A@A@E@E@T@I@N@G@ O@X@S@ M@ P@@ L@R

@@|________|@@|___________________________________|

@@@a[i]@@ a[i] @@@@@@@a[i]

Inefficiently on sorted file