Don't like ads? PRO users don't see any ads ;-)
Guest

Untitled

By: a guest on Jul 20th, 2012  |  syntax: None  |  size: 0.39 KB  |  hits: 6  |  expires: Never
download  |  raw  |  embed  |  report abuse  |  print
Text below is selected. Please press Ctrl+C to copy to your clipboard. (⌘+C on Mac)
  1. #!/usr/bin/env ruby
  2.  
  3. def qSort( ls )
  4.    return ls if ( ls.length < 2 )
  5.    pivIdx = rand ls.length
  6.    pivots = ls.select { |e| e == ls[pivIdx] }
  7.    low    = ls.select { |e| e < ls[pivIdx]  }
  8.    high   = ls.select { |e| e > ls[pivIdx]  }
  9.    return qSort( low ) + pivots + qSort( high )
  10. end
  11.  
  12.  
  13. puts "ls #{qSort( [ 1, 32, 14, 12, 19, 94, 38, 28, 40, 38, 42, 18, 23, 13, 37] ).join(", ")}"