2016-08-12 18:41:35 +02:00
|
|
|
class Array
|
2020-05-14 04:15:53 +02:00
|
|
|
def sorted?
|
|
|
|
### goes thru array and checks if all elements are in order
|
2021-02-07 08:05:54 +01:00
|
|
|
(1...length).each do |i|
|
|
|
|
return false if self[i - 1] > self[i]
|
2020-05-14 04:15:53 +02:00
|
|
|
end
|
2021-02-07 08:05:54 +01:00
|
|
|
true
|
2020-11-01 12:43:07 +01:00
|
|
|
end
|
2021-02-07 08:05:54 +01:00
|
|
|
|
2020-05-14 04:15:53 +02:00
|
|
|
def bogosort
|
|
|
|
### randomly shuffles until sorted
|
2021-02-07 08:05:54 +01:00
|
|
|
shuffle! until sorted?
|
|
|
|
self # return sorted array
|
2020-05-14 04:15:53 +02:00
|
|
|
end
|
2016-08-12 18:41:35 +02:00
|
|
|
end
|
|
|
|
|
2020-10-26 21:35:41 +01:00
|
|
|
if $0 == __FILE__
|
2021-02-07 08:05:54 +01:00
|
|
|
puts 'Enter a list of numbers separated by space'
|
2020-10-26 21:35:41 +01:00
|
|
|
str = gets.chomp.split('')
|
|
|
|
puts str.bogosort.join('')
|
|
|
|
end
|