Código Ruby – Ordenamiento Quick Sort

El código realiza un Ordenamiento de datos numéricos haciendo uso del Método Quick Sort en Ruby:

def ordenamiento_quick_sort(arr)
  return arr if arr.length <= 1
  
  pivot = arr[arr.length / 2]
  left = []
  middle = []
  right = []
  
  arr.each do |x|
    if x < pivot
      left << x
    elsif x == pivot
      middle << x
    else
      right << x
    end
  end
  
  return ordenamiento_quick_sort(left) + middle + ordenamiento_quick_sort(right)
end

arr = [64, 34, 25, 12, 22, 11, 90]
sorted_arr = ordenamiento_quick_sort(arr)
puts "Arreglo ordenado: #{sorted_arr}"

Deja un comentario