`qsort'
-------

qsort(ARRAY[,FUNC])
     :: $B0l<!85G[Ns(B ARRAY $B$r%=!<%H$9$k(B.

RETURN
     ARRAY ($BF~NO$HF1$8(B; $BMWAG$N$_F~$lBX$o$k(B)

ARRAY
     $B0l<!85G[Ns(B

FUNC
     $BHf3SMQ4X?t(B

   * $B0l<!85G[Ns$r(B quick sort $B$G%=!<%H$9$k(B.

   * $BHf3SMQ4X?t$,;XDj$5$l$F$$$J$$>l9g(B, $B%*%V%8%'%/%H$I$&$7$NHf3S7k2L$G(B
     $B=g=x$,2<$N$b$N$+$i=g$KJB$Y49$($i$l$k(B.

   * 0, 1, -1 $B$rJV$9(B 2 $B0z?t4X?t$,(B FUNC $B$H$7$FM?$($i$l$?>l9g(B,
     `FUNC(A,B)=1' $B$N>l9g$K(B `A<B' $B$H$7$F(B, $B=g=x$,2<$N(B
     $B$b$N$+$i=g$KJB$Y49$($i$l$k(B.

   * $BG[Ns$O?7$?$K@8@.$5$l$:(B, $B0z?t$NG[Ns$NMWAG$N$_F~$lBX$o$k(B.

     [0] qsort(newvect(10,[1,4,6,7,3,2,9,6,0,-1]));
     [ -1 0 1 2 3 4 6 6 7 9 ]
     [1] def rev(A,B) { return A>B?-1:(A<B?1:0); }
     [2] qsort(newvect(10,[1,4,6,7,3,2,9,6,0,-1]),rev);
     [ 9 7 6 6 4 3 2 1 0 -1 ]

$B;2>H(B
     *Note `ord': ord, *Note `vars': vars.

