DEV Community

Discussion on: Sorting Algorithms with Javascript (Part 2)

Collapse
 
chenge profile image
chenge

quicksort in Ruby. Short and clear.

def qs a
  (pivot = a.pop) ? 
    qs(a.select{|i| i <= pivot}) + [pivot] + qs(a.select{|i| i > pivot}) :
    []
end

Enter fullscreen mode Exit fullscreen mode
Collapse
 
wangonya profile image
Kelvin Wangonya

Wow! I've never written a line of ruby in my life 😅 This is really clean.

Collapse
 
simoroshka profile image
Anna Simoroshka • Edited

I can do pretty much the same in javascript. :)

const qs = (a) => {
   const pivot = a.pop();
   return pivot != null ? [...qs(a.filter(i => i < pivot)), pivot, ...qs(a.filter(i => i >= pivot))] : [];
}
Enter fullscreen mode Exit fullscreen mode