Class: Array

Inherits:
Object
  • Object
show all
Defined in:
lib/WebWordSorter.rb

Instance Method Summary collapse

Instance Method Details

#stoogesortObject



223
224
225
# File 'lib/WebWordSorter.rb', line 223

def stoogesort
  self.dup.stoogesort!
end

#stoogesort!(i = 0, j = self.length-1) ⇒ Object



227
228
229
230
231
232
233
234
235
236
237
238
# File 'lib/WebWordSorter.rb', line 227

def stoogesort!(i = 0, j = self.length-1)
  if self[j].length < self[i].length
    self[i], self[j] = self[j], self[i]
  end
  if j - i > 1
    t = (j - i + 1)/3
    stoogesort!(i, j-t)
    stoogesort!(i+t, j)
    stoogesort!(i, j-t)
  end
  self
end