quickselect: function [a k][ arr: new a while ΓΈ [ indx: random 0 (size arr)-1 pivot: arr\[indx] remove 'arr .index indx left: select arr 'item -> item item>pivot when.has: k [ [= size left] -> return pivot [< size left] -> arr: new left true [ k: (k - size left) - 1 arr: new right ] ] ] ] v: [9 8 7 6 5 0 1 2 3 4] print map 0..(size v)-1 'i -> quickselect v i