Sorting algorithms/Gnome sort: Difference between revisions

Content added Content deleted
m (formatting: reduce whitespace in description)
(add Ruby)
Line 256: Line 256:
[1, 2, 3, 4, 5, 6]
[1, 2, 3, 4, 5, 6]
>>> </lang>
>>> </lang>

=={{header|Ruby}}==
<lang ruby>class Array
def gnomesort!
i, j = 1, 2
while i < length
if self[i-1] <= self[i]
i, j = j, j+1
else
self[i-1], self[i] = self[i], self[i-1]
i -= 1
if i == 0
i, j = j, j+1
end
end
end
self
end
end
ary = [7,6,5,9,8,4,3,1,2,0]
ary.gnomesort!
# => [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
</lang>


=={{header|Smalltalk}}==
=={{header|Smalltalk}}==