Sha256: a2e42a2f2fb7b4093f760c5fd941b1b7bb44b122be06930c9e134daf7bf33f43

Contents?: true

Size: 1.03 KB

Versions: 1

Compression:

Stored size: 1.03 KB

Contents

# encoding: utf-8
# Extensión de la clase array
#
# @author Sara Revilla

class Array

  # Devuelve un array nuevo ordenado
  # utilizando bucles for (ordenación por selección)
  def ordena_for
    output = self.dup
    
    for i in 0..(output.size() - 1)
      pos_min = i
      j = i + 1
      # Busco el mínimo
      while j < (output.size()) do
        if output[j] < output[pos_min]
          pos_min = j
        end
        j = j + 1
      end
      # Intercambio, pongo el mínimo al final del subarray ordenado, al principio
      output[pos_min], output[i] = output[i], output[pos_min] 
    end

    output
  end

  # Devuelve un array nuevo ordenado
  # utilizando el método each
  def ordena_each
    output = self.dup

    (0..(output.size()-1)).each do |inx|
      minimo = output.find_index(output[inx..(output.size()-1)].min)
      output[inx], output[minimo] = output[minimo], output[inx]
    end
    
    output
  end
  
  # Devuelve un array nuevo ordenado
  # utilizando el método sort
  def ordena_sort
    self.sort
  end

end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
alimento-alu0100947441-0.1.1 lib/alimento/array.rb