September Morn Update
This commit is contained in:
parent
4e2d22a71d
commit
aac6731f2c
6856 changed files with 141342 additions and 21127 deletions
|
|
@ -0,0 +1,18 @@
|
|||
USING: combinators kernel make math locals prettyprint sequences ;
|
||||
IN: rosetta-code.quickselect
|
||||
|
||||
:: quickselect ( k seq -- n )
|
||||
seq unclip :> ( xs x )
|
||||
xs [ x < ] partition :> ( ys zs )
|
||||
ys length :> l
|
||||
{
|
||||
{ [ k l < ] [ k ys quickselect ] }
|
||||
{ [ k l > ] [ k l - 1 - zs quickselect ] }
|
||||
[ x ]
|
||||
} cond ;
|
||||
|
||||
: quickselect-demo ( -- )
|
||||
{ 9 8 7 6 5 0 1 2 3 4 } dup length <iota> swap
|
||||
[ [ quickselect , ] curry each ] { } make . ;
|
||||
|
||||
MAIN: quickselect-demo
|
||||
Loading…
Add table
Add a link
Reference in a new issue