Skip to content

Instantly share code, notes, and snippets.

@nekova
Last active August 29, 2015 14:02
Show Gist options
  • Save nekova/ccf29a94993d775e4e6f to your computer and use it in GitHub Desktop.
Save nekova/ccf29a94993d775e4e6f to your computer and use it in GitHub Desktop.
Algorithm
class Array
def comb_sort
size = self.size
gap = self.size - 1
sorted = false
while (gap > 1 || sorted == false)
gap = gap * 10 / 13
gap = 1 if gap == 0
sorted = false
for i in 0...(size-gap)
if self[i] > self[i+gap]
self[i], self[i+gap] = self[i+gap], self[i]
sorted = true
end
end
end
return self
end
def insert_sort
last_index = self.size - 1
for sorted in 0...(last_index) do
insert = self[sorted+1]
for i in 0..sorted do
if self[i] > insert
for n in i..(sorted+1)
self[n], insert = insert, self[n]
end
break
end
end
end
return self
end
end
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment