Advertisement
Guest User

QSort in ListComp

a guest
Apr 10th, 2012
41
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 0.46 KB | None | 0 0
  1. from random import randrange      
  2. def qsortlist(list):
  3.     """
  4.    Quicksort using list comprehensions and randomized pivot
  5.    """
  6.     def qsort(list):
  7.         if list == []:
  8.             return []
  9.         else:
  10.             pivot = list.pop(randrange(len(list)))
  11.             lesser = qsort([l for l in list if l < pivot])
  12.             greater = qsort([l for l in list if l >= pivot])
  13.             return lesser + [pivot] + greater
  14.     return qsort(list[:])
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement