Skip to content

Instantly share code, notes, and snippets.

@designbyadrian
Last active August 29, 2015 14:01
Show Gist options
  • Save designbyadrian/6cba6fe5721fff724c52 to your computer and use it in GitHub Desktop.
Save designbyadrian/6cba6fe5721fff724c52 to your computer and use it in GitHub Desktop.
Here are some things you can do with Gists in GistBox.
# Use Gists to store entire functions
class QuickSort
def self.sort!(keys)
quick(keys,0,keys.size-1)
end
private
def self.quick(keys, left, right)
if left < right
pivot = partition(keys, left, right)
quick(keys, left, pivot-1)
quick(keys, pivot+1, right)
end
keys
end
def self.partition(keys, left, right)
x = keys[right]
i = left-1
for j in left..right-1
if keys[j] <= x
i += 1
keys[i], keys[j] = keys[j], keys[i]
end
end
keys[i+1], keys[right] = keys[right], keys[i+1]
i+1
end
end
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment