class Array

Public Instance Methods

ordenar_each() click to toggle source
# File lib/prct06/array.rb, line 35
def ordenar_each

        @resultado = self.map { |x| x }
                indice=0
                @resultado.each do |x|
                        var = x
                        i = indice
                        indice2=indice + 1
                
                        @resultado[indice2..@resultado.length-1].each do |y|
                                if var > y 
                                        var = y
                                        i = indice2
                                end
                                indice2+=1
                        end
                @resultado[i] = x
                @resultado[indice] = var
                indice+=1
                end

         @resultado
end
ordenar_for() click to toggle source
# File lib/prct06/array.rb, line 14
def ordenar_for

        @resultado = self.map { |x| x }
                for x in 0..self.count-1
                        aux = @resultado[x]
                        i = x

                        for y in x + 1..self.count-1
                                if aux > @resultado[y] 
                                        aux = @resultado[y]
                                        i = y
                                end
                        end
                
                @resultado[i] = @resultado[x]
                @resultado[x] = aux
                end

        @resultado
end
quick_sort(array) click to toggle source
# File lib/prct06/array.rb, line 3
def quick_sort(array)
        return array if array.size <= 1

        pivot ||= array.shift

        left = array.select { |n| n < pivot }
        right = array.select { |n| n >= pivot }

        return [*quick_sort(left), pivot, *quick_sort(right)]
end