這篇文章主要介紹了Ruby一行代碼實現的快速排序,本文直接給出實現代碼,超級簡潔的一個的方法,需要的朋友可以參考下
代碼如下:
def quick_sort(a)
return a if a.size < 2
(x = a.pop) ? quick_sort(a.select{|i| i <=x }) + [x] + quick_sort(a.select{|i| i > x}) : []
end
array = [72,6,57,88,60,42,83,73,42,48,85]
p quick_sort(array) #=> [6, 42, 42, 48, 57, 60, 72, 73, 83, 85, 88]