Data commit
This commit is contained in:
parent
7387c8f97b
commit
cb5bb5e222
199093 changed files with 3378972 additions and 0 deletions
|
|
@ -0,0 +1,23 @@
|
|||
class Array
|
||||
def cocktailsort!
|
||||
begin
|
||||
swapped = false
|
||||
0.upto(length - 2) do |i|
|
||||
if self[i] > self[i + 1]
|
||||
self[i], self[i + 1] = self[i + 1], self[i]
|
||||
swapped = true
|
||||
end
|
||||
end
|
||||
break unless swapped
|
||||
|
||||
swapped = false
|
||||
(length - 2).downto(0) do |i|
|
||||
if self[i] > self[i + 1]
|
||||
self[i], self[i + 1] = self[i + 1], self[i]
|
||||
swapped = true
|
||||
end
|
||||
end
|
||||
end while swapped
|
||||
self
|
||||
end
|
||||
end
|
||||
|
|
@ -0,0 +1,17 @@
|
|||
class Array
|
||||
def cocktailsort!
|
||||
start, finish, way = 0, size-1, 1
|
||||
loop do
|
||||
swapped = false
|
||||
start.step(finish-way, way) do |i|
|
||||
if (self[i] <=> self[i + way]) == way
|
||||
self[i], self[i + way] = self[i + way], self[i]
|
||||
swapped = i
|
||||
end
|
||||
end
|
||||
break unless swapped
|
||||
start, finish, way = swapped, start, -way
|
||||
end
|
||||
self
|
||||
end
|
||||
end
|
||||
|
|
@ -0,0 +1,4 @@
|
|||
ary = [7,6,5,9,8,4,3,1,2,0]
|
||||
p ary.cocktailsort!
|
||||
ary = ["John", "Kate", "Zerg", "Alice", "Joe", "Jane"]
|
||||
p ary.cocktailsort!
|
||||
Loading…
Add table
Add a link
Reference in a new issue