fork download
  1. from random import randrange,shuffle
  2. def qsort2a(lis):
  3. def qsort(lis):
  4. if lis == []:
  5. return []
  6. else:
  7. ind = randrange(len(lis))
  8. pivot = lis[ind]
  9. lesser = qsort([l for i,l in enumerate(lis) if l < pivot and i!=ind])
  10. greater = qsort([l for i,l in enumerate(lis) if l >= pivot and i!=ind])
  11. return lesser + [pivot] + greater
  12. return qsort(lis)
  13.  
  14. lis = range(10) + range(5,20)
  15. shuffle(lis)
  16. print qsort2a(lis)
  17. print lis
Success #stdin #stdout 0.09s 10992KB
stdin
Standard input is empty
stdout
[0, 1, 2, 3, 4, 5, 5, 6, 6, 7, 7, 8, 8, 9, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19]
[4, 6, 8, 3, 9, 6, 0, 11, 14, 5, 8, 13, 1, 19, 9, 7, 10, 5, 18, 2, 7, 12, 17, 16, 15]