module BogoSort

Constants

VERSION

Public Instance Methods

bogo_sort() click to toggle source
# File lib/bogo_sort.rb, line 4
def bogo_sort
  loop do
    catch(:break) do
      shuffled = shuffle
      (shuffled.length - 1).times do |i|
        compare_result = shuffled[i] <=> shuffled[i + 1]
        return nil if compare_result.nil?
        throw(:break) if compare_result >= 1
      end
      return shuffled
    end
  end
end
Also aliased as: bogosort
bogo_sort!() click to toggle source
# File lib/bogo_sort.rb, line 18
def bogo_sort!
  result = bogosort
  result.nil? ? nil : replace(result)
end
Also aliased as: bogosort!
bogosort()
Alias for: bogo_sort
bogosort!()
Alias for: bogo_sort!