# L-16 MCS 275 Wed 17 Feb 2010 : quicksort.py from random import randint def QuickSort(L): """ Returns a list with the data of L sorted in increasing order. """ print 'L =', L if len(L) <= 1: return L else: left = []; right = [] for k in range(1,len(L)): if L[k] < L[0]: left.append(L[k]) else: right.append(L[k]) S = QuickSort(left) S.append(L[0]) return S + QuickSort(right) def main(): """ Calls QuickSort on a list of randomly generated numbers. """ a = input('Give lower bound : ') b = input('Give lower bound : ') N = input('How many numbers ? ') r = lambda i: randint(a,b) L = map(r,range(0,N)) print 'L =', L S = QuickSort(L) print 'S =', S main()