Skip to content

Instantly share code, notes, and snippets.

@noqcks
Created September 3, 2014 21:39
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save noqcks/a3eaaff877de210c55a7 to your computer and use it in GitHub Desktop.
Save noqcks/a3eaaff877de210c55a7 to your computer and use it in GitHub Desktop.
def BubbleSort(to_sort)
n = to_sort.length
sorted = false
until sorted
sorted = true
for i in 0..(n - 2)
if to_sort[i] > to_sort[i + 1]
sorted = false
to_sort[i], to_sort[i + 1] = to_sort[i + 1], to_sort[i]
end
end
end
return to_sort
end
# Find the maximum
def maximum(arr)
BubbleSort(arr).last
end
def minimum(arr)
BubbleSort(arr).first
end
# expect it to return 42 below
result = maximum([2, 42, 22, 02])
puts "max of 2, 42, 22, 02 is: #{result}"
# expect it to return 2 below
result = minimum([2, 42, 22, 02])
puts "min of 2, 42, 22, 02 is: #{result}"
# expect it to return nil when empty array is passed in
result = maximum([])
puts "max on empty set is: #{result.inspect}"
result = minimum([])
puts "min on empty set is: #{result.inspect}"
result = maximum([-23, 0, -3])
puts "max of -23, 0, -3 is: #{result}"
result = maximum([6])
puts "max of just 6 is: #{result}"
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment