Benchmark Plots for Algorithms


In [1]:
%matplotlib nbagg

import matplotlib
import numpy as np
import matplotlib.pyplot as plt

In [15]:
import random
import collections
import importlib
import time

random.seed(5)
sorting_algos = ['insertion', 'merge', 'quick', 'selection']
iterations = [10, 100, 1000, 10000]

In [26]:
def construct_random_array_with_n_elements(n):
    return [random.randint(-n, n) for _ in xrange(n)]

all_arrays = {x: [construct_random_array_with_n_elements(x) for _ in xrange(10)] for x in iterations}
all_arrays
sorting_algos


Out[26]:
['insertion', 'merge', 'quick', 'selection']

In [40]:
def average_time_it_takes_to_sort_arrays(sorting_algo, arrays):
    return sum(map(lambda array: time_it_takes_to_sort_array_using_algo(sorting_algo, array), arrays)) / max(len(arrays), 1)

def time_it_takes_to_sort_array_using_algo(algo, array):
    before = time.time()
    sort_array_using_algo(algo, array)
    return time.time() - before

def sort_array_using_algo(algo, array):
    sort = getattr(importlib.import_module('sorting.{}'.format(algo)), 'sort')
    return sort(array)

In [41]:
# timers = lambda algo, arrays: {_len: average_time_it_takes_to_sort_arrays(algo, ran_arrays) for _len, ran_arrays in arrays.items()}

# average_times = {
#     algo: timers(algo, all_arrays)
#     for algo in sorting_algos
# }


---------------------------------------------------------------------------
RuntimeError                              Traceback (most recent call last)
<ipython-input-41-359ecc8cfd52> in <module>()
      3 average_times = {
      4     algo: timers(algo, all_arrays)
----> 5     for algo in sorting_algos
      6 }

<ipython-input-41-359ecc8cfd52> in <dictcomp>((algo,))
      3 average_times = {
      4     algo: timers(algo, all_arrays)
----> 5     for algo in sorting_algos
      6 }

<ipython-input-41-359ecc8cfd52> in <lambda>(algo, arrays)
----> 1 timers = lambda algo, arrays: {_len: average_time_it_takes_to_sort_arrays(algo, ran_arrays) for _len, ran_arrays in arrays.items()}
      2 
      3 average_times = {
      4     algo: timers(algo, all_arrays)
      5     for algo in sorting_algos

<ipython-input-41-359ecc8cfd52> in <dictcomp>((_len, ran_arrays))
----> 1 timers = lambda algo, arrays: {_len: average_time_it_takes_to_sort_arrays(algo, ran_arrays) for _len, ran_arrays in arrays.items()}
      2 
      3 average_times = {
      4     algo: timers(algo, all_arrays)
      5     for algo in sorting_algos

<ipython-input-40-11528fc86a44> in average_time_it_takes_to_sort_arrays(sorting_algo, arrays)
      1 def average_time_it_takes_to_sort_arrays(sorting_algo, arrays):
----> 2     return sum(map(lambda array: time_it_takes_to_sort_array_using_algo(sorting_algo, array), arrays)) / max(len(arrays), 1)
      3 
      4 def time_it_takes_to_sort_array_using_algo(algo, array):
      5     before = time.time()

<ipython-input-40-11528fc86a44> in <lambda>(array)
      1 def average_time_it_takes_to_sort_arrays(sorting_algo, arrays):
----> 2     return sum(map(lambda array: time_it_takes_to_sort_array_using_algo(sorting_algo, array), arrays)) / max(len(arrays), 1)
      3 
      4 def time_it_takes_to_sort_array_using_algo(algo, array):
      5     before = time.time()

<ipython-input-40-11528fc86a44> in time_it_takes_to_sort_array_using_algo(algo, array)
      4 def time_it_takes_to_sort_array_using_algo(algo, array):
      5     before = time.time()
----> 6     sort_array_using_algo(algo, array)
      7     return time.time() - before
      8 

<ipython-input-40-11528fc86a44> in sort_array_using_algo(algo, array)
      9 def sort_array_using_algo(algo, array):
     10     sort = getattr(importlib.import_module('sorting.{}'.format(algo)), 'sort')
---> 11     return sort(array)

/Users/omareid/Desktop/playground/datastructs/sorting/quick.pyc in sort(array, first, last)
     46     array[last], array[i] = array[i], array[last]
     47     # Sort the partitions
---> 48     sort(array, first, i-1)
     49     sort(array, i+1, last)
     50     return array

/Users/omareid/Desktop/playground/datastructs/sorting/quick.pyc in sort(array, first, last)
     46     array[last], array[i] = array[i], array[last]
     47     # Sort the partitions
---> 48     sort(array, first, i-1)
     49     sort(array, i+1, last)
     50     return array

/Users/omareid/Desktop/playground/datastructs/sorting/quick.pyc in sort(array, first, last)
     46     array[last], array[i] = array[i], array[last]
     47     # Sort the partitions
---> 48     sort(array, first, i-1)
     49     sort(array, i+1, last)
     50     return array

/Users/omareid/Desktop/playground/datastructs/sorting/quick.pyc in sort(array, first, last)
     46     array[last], array[i] = array[i], array[last]
     47     # Sort the partitions
---> 48     sort(array, first, i-1)
     49     sort(array, i+1, last)
     50     return array

/Users/omareid/Desktop/playground/datastructs/sorting/quick.pyc in sort(array, first, last)
     46     array[last], array[i] = array[i], array[last]
     47     # Sort the partitions
---> 48     sort(array, first, i-1)
     49     sort(array, i+1, last)
     50     return array

/Users/omareid/Desktop/playground/datastructs/sorting/quick.pyc in sort(array, first, last)
     46     array[last], array[i] = array[i], array[last]
     47     # Sort the partitions
---> 48     sort(array, first, i-1)
     49     sort(array, i+1, last)
     50     return array

/Users/omareid/Desktop/playground/datastructs/sorting/quick.pyc in sort(array, first, last)
     46     array[last], array[i] = array[i], array[last]
     47     # Sort the partitions
---> 48     sort(array, first, i-1)
     49     sort(array, i+1, last)
     50     return array

/Users/omareid/Desktop/playground/datastructs/sorting/quick.pyc in sort(array, first, last)
     46     array[last], array[i] = array[i], array[last]
     47     # Sort the partitions
---> 48     sort(array, first, i-1)
     49     sort(array, i+1, last)
     50     return array

/Users/omareid/Desktop/playground/datastructs/sorting/quick.pyc in sort(array, first, last)
     46     array[last], array[i] = array[i], array[last]
     47     # Sort the partitions
---> 48     sort(array, first, i-1)
     49     sort(array, i+1, last)
     50     return array

/Users/omareid/Desktop/playground/datastructs/sorting/quick.pyc in sort(array, first, last)
     46     array[last], array[i] = array[i], array[last]
     47     # Sort the partitions
---> 48     sort(array, first, i-1)
     49     sort(array, i+1, last)
     50     return array

/Users/omareid/Desktop/playground/datastructs/sorting/quick.pyc in sort(array, first, last)
     46     array[last], array[i] = array[i], array[last]
     47     # Sort the partitions
---> 48     sort(array, first, i-1)
     49     sort(array, i+1, last)
     50     return array

/Users/omareid/Desktop/playground/datastructs/sorting/quick.pyc in sort(array, first, last)
     46     array[last], array[i] = array[i], array[last]
     47     # Sort the partitions
---> 48     sort(array, first, i-1)
     49     sort(array, i+1, last)
     50     return array

/Users/omareid/Desktop/playground/datastructs/sorting/quick.pyc in sort(array, first, last)
     46     array[last], array[i] = array[i], array[last]
     47     # Sort the partitions
---> 48     sort(array, first, i-1)
     49     sort(array, i+1, last)
     50     return array

/Users/omareid/Desktop/playground/datastructs/sorting/quick.pyc in sort(array, first, last)
     46     array[last], array[i] = array[i], array[last]
     47     # Sort the partitions
---> 48     sort(array, first, i-1)
     49     sort(array, i+1, last)
     50     return array

/Users/omareid/Desktop/playground/datastructs/sorting/quick.pyc in sort(array, first, last)
     46     array[last], array[i] = array[i], array[last]
     47     # Sort the partitions
---> 48     sort(array, first, i-1)
     49     sort(array, i+1, last)
     50     return array

/Users/omareid/Desktop/playground/datastructs/sorting/quick.pyc in sort(array, first, last)
     46     array[last], array[i] = array[i], array[last]
     47     # Sort the partitions
---> 48     sort(array, first, i-1)
     49     sort(array, i+1, last)
     50     return array

/Users/omareid/Desktop/playground/datastructs/sorting/quick.pyc in sort(array, first, last)
     46     array[last], array[i] = array[i], array[last]
     47     # Sort the partitions
---> 48     sort(array, first, i-1)
     49     sort(array, i+1, last)
     50     return array

/Users/omareid/Desktop/playground/datastructs/sorting/quick.pyc in sort(array, first, last)
     46     array[last], array[i] = array[i], array[last]
     47     # Sort the partitions
---> 48     sort(array, first, i-1)
     49     sort(array, i+1, last)
     50     return array

/Users/omareid/Desktop/playground/datastructs/sorting/quick.pyc in sort(array, first, last)
     46     array[last], array[i] = array[i], array[last]
     47     # Sort the partitions
---> 48     sort(array, first, i-1)
     49     sort(array, i+1, last)
     50     return array

/Users/omareid/Desktop/playground/datastructs/sorting/quick.pyc in sort(array, first, last)
     46     array[last], array[i] = array[i], array[last]
     47     # Sort the partitions
---> 48     sort(array, first, i-1)
     49     sort(array, i+1, last)
     50     return array

/Users/omareid/Desktop/playground/datastructs/sorting/quick.pyc in sort(array, first, last)
     46     array[last], array[i] = array[i], array[last]
     47     # Sort the partitions
---> 48     sort(array, first, i-1)
     49     sort(array, i+1, last)
     50     return array

/Users/omareid/Desktop/playground/datastructs/sorting/quick.pyc in sort(array, first, last)
     46     array[last], array[i] = array[i], array[last]
     47     # Sort the partitions
---> 48     sort(array, first, i-1)
     49     sort(array, i+1, last)
     50     return array

/Users/omareid/Desktop/playground/datastructs/sorting/quick.pyc in sort(array, first, last)
     46     array[last], array[i] = array[i], array[last]
     47     # Sort the partitions
---> 48     sort(array, first, i-1)
     49     sort(array, i+1, last)
     50     return array

/Users/omareid/Desktop/playground/datastructs/sorting/quick.pyc in sort(array, first, last)
     46     array[last], array[i] = array[i], array[last]
     47     # Sort the partitions
---> 48     sort(array, first, i-1)
     49     sort(array, i+1, last)
     50     return array

/Users/omareid/Desktop/playground/datastructs/sorting/quick.pyc in sort(array, first, last)
     46     array[last], array[i] = array[i], array[last]
     47     # Sort the partitions
---> 48     sort(array, first, i-1)
     49     sort(array, i+1, last)
     50     return array

/Users/omareid/Desktop/playground/datastructs/sorting/quick.pyc in sort(array, first, last)
     46     array[last], array[i] = array[i], array[last]
     47     # Sort the partitions
---> 48     sort(array, first, i-1)
     49     sort(array, i+1, last)
     50     return array

/Users/omareid/Desktop/playground/datastructs/sorting/quick.pyc in sort(array, first, last)
     46     array[last], array[i] = array[i], array[last]
     47     # Sort the partitions
---> 48     sort(array, first, i-1)
     49     sort(array, i+1, last)
     50     return array

/Users/omareid/Desktop/playground/datastructs/sorting/quick.pyc in sort(array, first, last)
     46     array[last], array[i] = array[i], array[last]
     47     # Sort the partitions
---> 48     sort(array, first, i-1)
     49     sort(array, i+1, last)
     50     return array

/Users/omareid/Desktop/playground/datastructs/sorting/quick.pyc in sort(array, first, last)
     46     array[last], array[i] = array[i], array[last]
     47     # Sort the partitions
---> 48     sort(array, first, i-1)
     49     sort(array, i+1, last)
     50     return array

/Users/omareid/Desktop/playground/datastructs/sorting/quick.pyc in sort(array, first, last)
     46     array[last], array[i] = array[i], array[last]
     47     # Sort the partitions
---> 48     sort(array, first, i-1)
     49     sort(array, i+1, last)
     50     return array

/Users/omareid/Desktop/playground/datastructs/sorting/quick.pyc in sort(array, first, last)
     46     array[last], array[i] = array[i], array[last]
     47     # Sort the partitions
---> 48     sort(array, first, i-1)
     49     sort(array, i+1, last)
     50     return array

/Users/omareid/Desktop/playground/datastructs/sorting/quick.pyc in sort(array, first, last)
     46     array[last], array[i] = array[i], array[last]
     47     # Sort the partitions
---> 48     sort(array, first, i-1)
     49     sort(array, i+1, last)
     50     return array

/Users/omareid/Desktop/playground/datastructs/sorting/quick.pyc in sort(array, first, last)
     46     array[last], array[i] = array[i], array[last]
     47     # Sort the partitions
---> 48     sort(array, first, i-1)
     49     sort(array, i+1, last)
     50     return array

/Users/omareid/Desktop/playground/datastructs/sorting/quick.pyc in sort(array, first, last)
     46     array[last], array[i] = array[i], array[last]
     47     # Sort the partitions
---> 48     sort(array, first, i-1)
     49     sort(array, i+1, last)
     50     return array

/Users/omareid/Desktop/playground/datastructs/sorting/quick.pyc in sort(array, first, last)
     46     array[last], array[i] = array[i], array[last]
     47     # Sort the partitions
---> 48     sort(array, first, i-1)
     49     sort(array, i+1, last)
     50     return array

/Users/omareid/Desktop/playground/datastructs/sorting/quick.pyc in sort(array, first, last)
     46     array[last], array[i] = array[i], array[last]
     47     # Sort the partitions
---> 48     sort(array, first, i-1)
     49     sort(array, i+1, last)
     50     return array

/Users/omareid/Desktop/playground/datastructs/sorting/quick.pyc in sort(array, first, last)
     46     array[last], array[i] = array[i], array[last]
     47     # Sort the partitions
---> 48     sort(array, first, i-1)
     49     sort(array, i+1, last)
     50     return array

/Users/omareid/Desktop/playground/datastructs/sorting/quick.pyc in sort(array, first, last)
     46     array[last], array[i] = array[i], array[last]
     47     # Sort the partitions
---> 48     sort(array, first, i-1)
     49     sort(array, i+1, last)
     50     return array

/Users/omareid/Desktop/playground/datastructs/sorting/quick.pyc in sort(array, first, last)
     46     array[last], array[i] = array[i], array[last]
     47     # Sort the partitions
---> 48     sort(array, first, i-1)
     49     sort(array, i+1, last)
     50     return array

/Users/omareid/Desktop/playground/datastructs/sorting/quick.pyc in sort(array, first, last)
     46     array[last], array[i] = array[i], array[last]
     47     # Sort the partitions
---> 48     sort(array, first, i-1)
     49     sort(array, i+1, last)
     50     return array

/Users/omareid/Desktop/playground/datastructs/sorting/quick.pyc in sort(array, first, last)
     46     array[last], array[i] = array[i], array[last]
     47     # Sort the partitions
---> 48     sort(array, first, i-1)
     49     sort(array, i+1, last)
     50     return array

/Users/omareid/Desktop/playground/datastructs/sorting/quick.pyc in sort(array, first, last)
     46     array[last], array[i] = array[i], array[last]
     47     # Sort the partitions
---> 48     sort(array, first, i-1)
     49     sort(array, i+1, last)
     50     return array

/Users/omareid/Desktop/playground/datastructs/sorting/quick.pyc in sort(array, first, last)
     46     array[last], array[i] = array[i], array[last]
     47     # Sort the partitions
---> 48     sort(array, first, i-1)
     49     sort(array, i+1, last)
     50     return array

/Users/omareid/Desktop/playground/datastructs/sorting/quick.pyc in sort(array, first, last)
     46     array[last], array[i] = array[i], array[last]
     47     # Sort the partitions
---> 48     sort(array, first, i-1)
     49     sort(array, i+1, last)
     50     return array

/Users/omareid/Desktop/playground/datastructs/sorting/quick.pyc in sort(array, first, last)
     46     array[last], array[i] = array[i], array[last]
     47     # Sort the partitions
---> 48     sort(array, first, i-1)
     49     sort(array, i+1, last)
     50     return array

/Users/omareid/Desktop/playground/datastructs/sorting/quick.pyc in sort(array, first, last)
     46     array[last], array[i] = array[i], array[last]
     47     # Sort the partitions
---> 48     sort(array, first, i-1)
     49     sort(array, i+1, last)
     50     return array

/Users/omareid/Desktop/playground/datastructs/sorting/quick.pyc in sort(array, first, last)
     46     array[last], array[i] = array[i], array[last]
     47     # Sort the partitions
---> 48     sort(array, first, i-1)
     49     sort(array, i+1, last)
     50     return array

/Users/omareid/Desktop/playground/datastructs/sorting/quick.pyc in sort(array, first, last)
     46     array[last], array[i] = array[i], array[last]
     47     # Sort the partitions
---> 48     sort(array, first, i-1)
     49     sort(array, i+1, last)
     50     return array

/Users/omareid/Desktop/playground/datastructs/sorting/quick.pyc in sort(array, first, last)
     46     array[last], array[i] = array[i], array[last]
     47     # Sort the partitions
---> 48     sort(array, first, i-1)
     49     sort(array, i+1, last)
     50     return array

/Users/omareid/Desktop/playground/datastructs/sorting/quick.pyc in sort(array, first, last)
     46     array[last], array[i] = array[i], array[last]
     47     # Sort the partitions
---> 48     sort(array, first, i-1)
     49     sort(array, i+1, last)
     50     return array

/Users/omareid/Desktop/playground/datastructs/sorting/quick.pyc in sort(array, first, last)
     46     array[last], array[i] = array[i], array[last]
     47     # Sort the partitions
---> 48     sort(array, first, i-1)
     49     sort(array, i+1, last)
     50     return array

/Users/omareid/Desktop/playground/datastructs/sorting/quick.pyc in sort(array, first, last)
     46     array[last], array[i] = array[i], array[last]
     47     # Sort the partitions
---> 48     sort(array, first, i-1)
     49     sort(array, i+1, last)
     50     return array

/Users/omareid/Desktop/playground/datastructs/sorting/quick.pyc in sort(array, first, last)
     46     array[last], array[i] = array[i], array[last]
     47     # Sort the partitions
---> 48     sort(array, first, i-1)
     49     sort(array, i+1, last)
     50     return array

/Users/omareid/Desktop/playground/datastructs/sorting/quick.pyc in sort(array, first, last)
     46     array[last], array[i] = array[i], array[last]
     47     # Sort the partitions
---> 48     sort(array, first, i-1)
     49     sort(array, i+1, last)
     50     return array

/Users/omareid/Desktop/playground/datastructs/sorting/quick.pyc in sort(array, first, last)
     46     array[last], array[i] = array[i], array[last]
     47     # Sort the partitions
---> 48     sort(array, first, i-1)
     49     sort(array, i+1, last)
     50     return array

/Users/omareid/Desktop/playground/datastructs/sorting/quick.pyc in sort(array, first, last)
     46     array[last], array[i] = array[i], array[last]
     47     # Sort the partitions
---> 48     sort(array, first, i-1)
     49     sort(array, i+1, last)
     50     return array

/Users/omareid/Desktop/playground/datastructs/sorting/quick.pyc in sort(array, first, last)
     46     array[last], array[i] = array[i], array[last]
     47     # Sort the partitions
---> 48     sort(array, first, i-1)
     49     sort(array, i+1, last)
     50     return array

/Users/omareid/Desktop/playground/datastructs/sorting/quick.pyc in sort(array, first, last)
     46     array[last], array[i] = array[i], array[last]
     47     # Sort the partitions
---> 48     sort(array, first, i-1)
     49     sort(array, i+1, last)
     50     return array

/Users/omareid/Desktop/playground/datastructs/sorting/quick.pyc in sort(array, first, last)
     46     array[last], array[i] = array[i], array[last]
     47     # Sort the partitions
---> 48     sort(array, first, i-1)
     49     sort(array, i+1, last)
     50     return array

/Users/omareid/Desktop/playground/datastructs/sorting/quick.pyc in sort(array, first, last)
     46     array[last], array[i] = array[i], array[last]
     47     # Sort the partitions
---> 48     sort(array, first, i-1)
     49     sort(array, i+1, last)
     50     return array

/Users/omareid/Desktop/playground/datastructs/sorting/quick.pyc in sort(array, first, last)
     46     array[last], array[i] = array[i], array[last]
     47     # Sort the partitions
---> 48     sort(array, first, i-1)
     49     sort(array, i+1, last)
     50     return array

/Users/omareid/Desktop/playground/datastructs/sorting/quick.pyc in sort(array, first, last)
     46     array[last], array[i] = array[i], array[last]
     47     # Sort the partitions
---> 48     sort(array, first, i-1)
     49     sort(array, i+1, last)
     50     return array

/Users/omareid/Desktop/playground/datastructs/sorting/quick.pyc in sort(array, first, last)
     46     array[last], array[i] = array[i], array[last]
     47     # Sort the partitions
---> 48     sort(array, first, i-1)
     49     sort(array, i+1, last)
     50     return array

/Users/omareid/Desktop/playground/datastructs/sorting/quick.pyc in sort(array, first, last)
     46     array[last], array[i] = array[i], array[last]
     47     # Sort the partitions
---> 48     sort(array, first, i-1)
     49     sort(array, i+1, last)
     50     return array

/Users/omareid/Desktop/playground/datastructs/sorting/quick.pyc in sort(array, first, last)
     46     array[last], array[i] = array[i], array[last]
     47     # Sort the partitions
---> 48     sort(array, first, i-1)
     49     sort(array, i+1, last)
     50     return array

/Users/omareid/Desktop/playground/datastructs/sorting/quick.pyc in sort(array, first, last)
     46     array[last], array[i] = array[i], array[last]
     47     # Sort the partitions
---> 48     sort(array, first, i-1)
     49     sort(array, i+1, last)
     50     return array

/Users/omareid/Desktop/playground/datastructs/sorting/quick.pyc in sort(array, first, last)
     46     array[last], array[i] = array[i], array[last]
     47     # Sort the partitions
---> 48     sort(array, first, i-1)
     49     sort(array, i+1, last)
     50     return array

/Users/omareid/Desktop/playground/datastructs/sorting/quick.pyc in sort(array, first, last)
     46     array[last], array[i] = array[i], array[last]
     47     # Sort the partitions
---> 48     sort(array, first, i-1)
     49     sort(array, i+1, last)
     50     return array

/Users/omareid/Desktop/playground/datastructs/sorting/quick.pyc in sort(array, first, last)
     46     array[last], array[i] = array[i], array[last]
     47     # Sort the partitions
---> 48     sort(array, first, i-1)
     49     sort(array, i+1, last)
     50     return array

/Users/omareid/Desktop/playground/datastructs/sorting/quick.pyc in sort(array, first, last)
     46     array[last], array[i] = array[i], array[last]
     47     # Sort the partitions
---> 48     sort(array, first, i-1)
     49     sort(array, i+1, last)
     50     return array

/Users/omareid/Desktop/playground/datastructs/sorting/quick.pyc in sort(array, first, last)
     46     array[last], array[i] = array[i], array[last]
     47     # Sort the partitions
---> 48     sort(array, first, i-1)
     49     sort(array, i+1, last)
     50     return array

/Users/omareid/Desktop/playground/datastructs/sorting/quick.pyc in sort(array, first, last)
     46     array[last], array[i] = array[i], array[last]
     47     # Sort the partitions
---> 48     sort(array, first, i-1)
     49     sort(array, i+1, last)
     50     return array

/Users/omareid/Desktop/playground/datastructs/sorting/quick.pyc in sort(array, first, last)
     46     array[last], array[i] = array[i], array[last]
     47     # Sort the partitions
---> 48     sort(array, first, i-1)
     49     sort(array, i+1, last)
     50     return array

/Users/omareid/Desktop/playground/datastructs/sorting/quick.pyc in sort(array, first, last)
     46     array[last], array[i] = array[i], array[last]
     47     # Sort the partitions
---> 48     sort(array, first, i-1)
     49     sort(array, i+1, last)
     50     return array

/Users/omareid/Desktop/playground/datastructs/sorting/quick.pyc in sort(array, first, last)
     46     array[last], array[i] = array[i], array[last]
     47     # Sort the partitions
---> 48     sort(array, first, i-1)
     49     sort(array, i+1, last)
     50     return array

/Users/omareid/Desktop/playground/datastructs/sorting/quick.pyc in sort(array, first, last)
     46     array[last], array[i] = array[i], array[last]
     47     # Sort the partitions
---> 48     sort(array, first, i-1)
     49     sort(array, i+1, last)
     50     return array

/Users/omareid/Desktop/playground/datastructs/sorting/quick.pyc in sort(array, first, last)
     46     array[last], array[i] = array[i], array[last]
     47     # Sort the partitions
---> 48     sort(array, first, i-1)
     49     sort(array, i+1, last)
     50     return array

/Users/omareid/Desktop/playground/datastructs/sorting/quick.pyc in sort(array, first, last)
     46     array[last], array[i] = array[i], array[last]
     47     # Sort the partitions
---> 48     sort(array, first, i-1)
     49     sort(array, i+1, last)
     50     return array

/Users/omareid/Desktop/playground/datastructs/sorting/quick.pyc in sort(array, first, last)
     46     array[last], array[i] = array[i], array[last]
     47     # Sort the partitions
---> 48     sort(array, first, i-1)
     49     sort(array, i+1, last)
     50     return array

/Users/omareid/Desktop/playground/datastructs/sorting/quick.pyc in sort(array, first, last)
     46     array[last], array[i] = array[i], array[last]
     47     # Sort the partitions
---> 48     sort(array, first, i-1)
     49     sort(array, i+1, last)
     50     return array

/Users/omareid/Desktop/playground/datastructs/sorting/quick.pyc in sort(array, first, last)
     46     array[last], array[i] = array[i], array[last]
     47     # Sort the partitions
---> 48     sort(array, first, i-1)
     49     sort(array, i+1, last)
     50     return array

/Users/omareid/Desktop/playground/datastructs/sorting/quick.pyc in sort(array, first, last)
     46     array[last], array[i] = array[i], array[last]
     47     # Sort the partitions
---> 48     sort(array, first, i-1)
     49     sort(array, i+1, last)
     50     return array

/Users/omareid/Desktop/playground/datastructs/sorting/quick.pyc in sort(array, first, last)
     46     array[last], array[i] = array[i], array[last]
     47     # Sort the partitions
---> 48     sort(array, first, i-1)
     49     sort(array, i+1, last)
     50     return array

/Users/omareid/Desktop/playground/datastructs/sorting/quick.pyc in sort(array, first, last)
     46     array[last], array[i] = array[i], array[last]
     47     # Sort the partitions
---> 48     sort(array, first, i-1)
     49     sort(array, i+1, last)
     50     return array

/Users/omareid/Desktop/playground/datastructs/sorting/quick.pyc in sort(array, first, last)
     46     array[last], array[i] = array[i], array[last]
     47     # Sort the partitions
---> 48     sort(array, first, i-1)
     49     sort(array, i+1, last)
     50     return array

/Users/omareid/Desktop/playground/datastructs/sorting/quick.pyc in sort(array, first, last)
     46     array[last], array[i] = array[i], array[last]
     47     # Sort the partitions
---> 48     sort(array, first, i-1)
     49     sort(array, i+1, last)
     50     return array

/Users/omareid/Desktop/playground/datastructs/sorting/quick.pyc in sort(array, first, last)
     46     array[last], array[i] = array[i], array[last]
     47     # Sort the partitions
---> 48     sort(array, first, i-1)
     49     sort(array, i+1, last)
     50     return array

/Users/omareid/Desktop/playground/datastructs/sorting/quick.pyc in sort(array, first, last)
     46     array[last], array[i] = array[i], array[last]
     47     # Sort the partitions
---> 48     sort(array, first, i-1)
     49     sort(array, i+1, last)
     50     return array

/Users/omareid/Desktop/playground/datastructs/sorting/quick.pyc in sort(array, first, last)
     46     array[last], array[i] = array[i], array[last]
     47     # Sort the partitions
---> 48     sort(array, first, i-1)
     49     sort(array, i+1, last)
     50     return array

/Users/omareid/Desktop/playground/datastructs/sorting/quick.pyc in sort(array, first, last)
     46     array[last], array[i] = array[i], array[last]
     47     # Sort the partitions
---> 48     sort(array, first, i-1)
     49     sort(array, i+1, last)
     50     return array

/Users/omareid/Desktop/playground/datastructs/sorting/quick.pyc in sort(array, first, last)
     46     array[last], array[i] = array[i], array[last]
     47     # Sort the partitions
---> 48     sort(array, first, i-1)
     49     sort(array, i+1, last)
     50     return array

/Users/omareid/Desktop/playground/datastructs/sorting/quick.pyc in sort(array, first, last)
     46     array[last], array[i] = array[i], array[last]
     47     # Sort the partitions
---> 48     sort(array, first, i-1)
     49     sort(array, i+1, last)
     50     return array

/Users/omareid/Desktop/playground/datastructs/sorting/quick.pyc in sort(array, first, last)
     46     array[last], array[i] = array[i], array[last]
     47     # Sort the partitions
---> 48     sort(array, first, i-1)
     49     sort(array, i+1, last)
     50     return array

/Users/omareid/Desktop/playground/datastructs/sorting/quick.pyc in sort(array, first, last)
     46     array[last], array[i] = array[i], array[last]
     47     # Sort the partitions
---> 48     sort(array, first, i-1)
     49     sort(array, i+1, last)
     50     return array

/Users/omareid/Desktop/playground/datastructs/sorting/quick.pyc in sort(array, first, last)
     46     array[last], array[i] = array[i], array[last]
     47     # Sort the partitions
---> 48     sort(array, first, i-1)
     49     sort(array, i+1, last)
     50     return array

/Users/omareid/Desktop/playground/datastructs/sorting/quick.pyc in sort(array, first, last)
     46     array[last], array[i] = array[i], array[last]
     47     # Sort the partitions
---> 48     sort(array, first, i-1)
     49     sort(array, i+1, last)
     50     return array

/Users/omareid/Desktop/playground/datastructs/sorting/quick.pyc in sort(array, first, last)
     46     array[last], array[i] = array[i], array[last]
     47     # Sort the partitions
---> 48     sort(array, first, i-1)
     49     sort(array, i+1, last)
     50     return array

/Users/omareid/Desktop/playground/datastructs/sorting/quick.pyc in sort(array, first, last)
     46     array[last], array[i] = array[i], array[last]
     47     # Sort the partitions
---> 48     sort(array, first, i-1)
     49     sort(array, i+1, last)
     50     return array

/Users/omareid/Desktop/playground/datastructs/sorting/quick.pyc in sort(array, first, last)
     46     array[last], array[i] = array[i], array[last]
     47     # Sort the partitions
---> 48     sort(array, first, i-1)
     49     sort(array, i+1, last)
     50     return array

/Users/omareid/Desktop/playground/datastructs/sorting/quick.pyc in sort(array, first, last)
     46     array[last], array[i] = array[i], array[last]
     47     # Sort the partitions
---> 48     sort(array, first, i-1)
     49     sort(array, i+1, last)
     50     return array

/Users/omareid/Desktop/playground/datastructs/sorting/quick.pyc in sort(array, first, last)
     46     array[last], array[i] = array[i], array[last]
     47     # Sort the partitions
---> 48     sort(array, first, i-1)
     49     sort(array, i+1, last)
     50     return array

/Users/omareid/Desktop/playground/datastructs/sorting/quick.pyc in sort(array, first, last)
     46     array[last], array[i] = array[i], array[last]
     47     # Sort the partitions
---> 48     sort(array, first, i-1)
     49     sort(array, i+1, last)
     50     return array

/Users/omareid/Desktop/playground/datastructs/sorting/quick.pyc in sort(array, first, last)
     46     array[last], array[i] = array[i], array[last]
     47     # Sort the partitions
---> 48     sort(array, first, i-1)
     49     sort(array, i+1, last)
     50     return array

/Users/omareid/Desktop/playground/datastructs/sorting/quick.pyc in sort(array, first, last)
     46     array[last], array[i] = array[i], array[last]
     47     # Sort the partitions
---> 48     sort(array, first, i-1)
     49     sort(array, i+1, last)
     50     return array

/Users/omareid/Desktop/playground/datastructs/sorting/quick.pyc in sort(array, first, last)
     46     array[last], array[i] = array[i], array[last]
     47     # Sort the partitions
---> 48     sort(array, first, i-1)
     49     sort(array, i+1, last)
     50     return array

/Users/omareid/Desktop/playground/datastructs/sorting/quick.pyc in sort(array, first, last)
     46     array[last], array[i] = array[i], array[last]
     47     # Sort the partitions
---> 48     sort(array, first, i-1)
     49     sort(array, i+1, last)
     50     return array

/Users/omareid/Desktop/playground/datastructs/sorting/quick.pyc in sort(array, first, last)
     46     array[last], array[i] = array[i], array[last]
     47     # Sort the partitions
---> 48     sort(array, first, i-1)
     49     sort(array, i+1, last)
     50     return array

/Users/omareid/Desktop/playground/datastructs/sorting/quick.pyc in sort(array, first, last)
     46     array[last], array[i] = array[i], array[last]
     47     # Sort the partitions
---> 48     sort(array, first, i-1)
     49     sort(array, i+1, last)
     50     return array

/Users/omareid/Desktop/playground/datastructs/sorting/quick.pyc in sort(array, first, last)
     46     array[last], array[i] = array[i], array[last]
     47     # Sort the partitions
---> 48     sort(array, first, i-1)
     49     sort(array, i+1, last)
     50     return array

/Users/omareid/Desktop/playground/datastructs/sorting/quick.pyc in sort(array, first, last)
     46     array[last], array[i] = array[i], array[last]
     47     # Sort the partitions
---> 48     sort(array, first, i-1)
     49     sort(array, i+1, last)
     50     return array

/Users/omareid/Desktop/playground/datastructs/sorting/quick.pyc in sort(array, first, last)
     46     array[last], array[i] = array[i], array[last]
     47     # Sort the partitions
---> 48     sort(array, first, i-1)
     49     sort(array, i+1, last)
     50     return array

/Users/omareid/Desktop/playground/datastructs/sorting/quick.pyc in sort(array, first, last)
     46     array[last], array[i] = array[i], array[last]
     47     # Sort the partitions
---> 48     sort(array, first, i-1)
     49     sort(array, i+1, last)
     50     return array

/Users/omareid/Desktop/playground/datastructs/sorting/quick.pyc in sort(array, first, last)
     46     array[last], array[i] = array[i], array[last]
     47     # Sort the partitions
---> 48     sort(array, first, i-1)
     49     sort(array, i+1, last)
     50     return array

/Users/omareid/Desktop/playground/datastructs/sorting/quick.pyc in sort(array, first, last)
     46     array[last], array[i] = array[i], array[last]
     47     # Sort the partitions
---> 48     sort(array, first, i-1)
     49     sort(array, i+1, last)
     50     return array

/Users/omareid/Desktop/playground/datastructs/sorting/quick.pyc in sort(array, first, last)
     46     array[last], array[i] = array[i], array[last]
     47     # Sort the partitions
---> 48     sort(array, first, i-1)
     49     sort(array, i+1, last)
     50     return array

/Users/omareid/Desktop/playground/datastructs/sorting/quick.pyc in sort(array, first, last)
     46     array[last], array[i] = array[i], array[last]
     47     # Sort the partitions
---> 48     sort(array, first, i-1)
     49     sort(array, i+1, last)
     50     return array

/Users/omareid/Desktop/playground/datastructs/sorting/quick.pyc in sort(array, first, last)
     46     array[last], array[i] = array[i], array[last]
     47     # Sort the partitions
---> 48     sort(array, first, i-1)
     49     sort(array, i+1, last)
     50     return array

/Users/omareid/Desktop/playground/datastructs/sorting/quick.pyc in sort(array, first, last)
     46     array[last], array[i] = array[i], array[last]
     47     # Sort the partitions
---> 48     sort(array, first, i-1)
     49     sort(array, i+1, last)
     50     return array

/Users/omareid/Desktop/playground/datastructs/sorting/quick.pyc in sort(array, first, last)
     46     array[last], array[i] = array[i], array[last]
     47     # Sort the partitions
---> 48     sort(array, first, i-1)
     49     sort(array, i+1, last)
     50     return array

/Users/omareid/Desktop/playground/datastructs/sorting/quick.pyc in sort(array, first, last)
     46     array[last], array[i] = array[i], array[last]
     47     # Sort the partitions
---> 48     sort(array, first, i-1)
     49     sort(array, i+1, last)
     50     return array

/Users/omareid/Desktop/playground/datastructs/sorting/quick.pyc in sort(array, first, last)
     46     array[last], array[i] = array[i], array[last]
     47     # Sort the partitions
---> 48     sort(array, first, i-1)
     49     sort(array, i+1, last)
     50     return array

/Users/omareid/Desktop/playground/datastructs/sorting/quick.pyc in sort(array, first, last)
     46     array[last], array[i] = array[i], array[last]
     47     # Sort the partitions
---> 48     sort(array, first, i-1)
     49     sort(array, i+1, last)
     50     return array

/Users/omareid/Desktop/playground/datastructs/sorting/quick.pyc in sort(array, first, last)
     46     array[last], array[i] = array[i], array[last]
     47     # Sort the partitions
---> 48     sort(array, first, i-1)
     49     sort(array, i+1, last)
     50     return array

/Users/omareid/Desktop/playground/datastructs/sorting/quick.pyc in sort(array, first, last)
     46     array[last], array[i] = array[i], array[last]
     47     # Sort the partitions
---> 48     sort(array, first, i-1)
     49     sort(array, i+1, last)
     50     return array

/Users/omareid/Desktop/playground/datastructs/sorting/quick.pyc in sort(array, first, last)
     46     array[last], array[i] = array[i], array[last]
     47     # Sort the partitions
---> 48     sort(array, first, i-1)
     49     sort(array, i+1, last)
     50     return array

/Users/omareid/Desktop/playground/datastructs/sorting/quick.pyc in sort(array, first, last)
     46     array[last], array[i] = array[i], array[last]
     47     # Sort the partitions
---> 48     sort(array, first, i-1)
     49     sort(array, i+1, last)
     50     return array

/Users/omareid/Desktop/playground/datastructs/sorting/quick.pyc in sort(array, first, last)
     46     array[last], array[i] = array[i], array[last]
     47     # Sort the partitions
---> 48     sort(array, first, i-1)
     49     sort(array, i+1, last)
     50     return array

/Users/omareid/Desktop/playground/datastructs/sorting/quick.pyc in sort(array, first, last)
     46     array[last], array[i] = array[i], array[last]
     47     # Sort the partitions
---> 48     sort(array, first, i-1)
     49     sort(array, i+1, last)
     50     return array

/Users/omareid/Desktop/playground/datastructs/sorting/quick.pyc in sort(array, first, last)
     46     array[last], array[i] = array[i], array[last]
     47     # Sort the partitions
---> 48     sort(array, first, i-1)
     49     sort(array, i+1, last)
     50     return array

/Users/omareid/Desktop/playground/datastructs/sorting/quick.pyc in sort(array, first, last)
     46     array[last], array[i] = array[i], array[last]
     47     # Sort the partitions
---> 48     sort(array, first, i-1)
     49     sort(array, i+1, last)
     50     return array

/Users/omareid/Desktop/playground/datastructs/sorting/quick.pyc in sort(array, first, last)
     46     array[last], array[i] = array[i], array[last]
     47     # Sort the partitions
---> 48     sort(array, first, i-1)
     49     sort(array, i+1, last)
     50     return array

/Users/omareid/Desktop/playground/datastructs/sorting/quick.pyc in sort(array, first, last)
     46     array[last], array[i] = array[i], array[last]
     47     # Sort the partitions
---> 48     sort(array, first, i-1)
     49     sort(array, i+1, last)
     50     return array

/Users/omareid/Desktop/playground/datastructs/sorting/quick.pyc in sort(array, first, last)
     46     array[last], array[i] = array[i], array[last]
     47     # Sort the partitions
---> 48     sort(array, first, i-1)
     49     sort(array, i+1, last)
     50     return array

/Users/omareid/Desktop/playground/datastructs/sorting/quick.pyc in sort(array, first, last)
     46     array[last], array[i] = array[i], array[last]
     47     # Sort the partitions
---> 48     sort(array, first, i-1)
     49     sort(array, i+1, last)
     50     return array

/Users/omareid/Desktop/playground/datastructs/sorting/quick.pyc in sort(array, first, last)
     46     array[last], array[i] = array[i], array[last]
     47     # Sort the partitions
---> 48     sort(array, first, i-1)
     49     sort(array, i+1, last)
     50     return array

/Users/omareid/Desktop/playground/datastructs/sorting/quick.pyc in sort(array, first, last)
     46     array[last], array[i] = array[i], array[last]
     47     # Sort the partitions
---> 48     sort(array, first, i-1)
     49     sort(array, i+1, last)
     50     return array

/Users/omareid/Desktop/playground/datastructs/sorting/quick.pyc in sort(array, first, last)
     46     array[last], array[i] = array[i], array[last]
     47     # Sort the partitions
---> 48     sort(array, first, i-1)
     49     sort(array, i+1, last)
     50     return array

/Users/omareid/Desktop/playground/datastructs/sorting/quick.pyc in sort(array, first, last)
     46     array[last], array[i] = array[i], array[last]
     47     # Sort the partitions
---> 48     sort(array, first, i-1)
     49     sort(array, i+1, last)
     50     return array

/Users/omareid/Desktop/playground/datastructs/sorting/quick.pyc in sort(array, first, last)
     46     array[last], array[i] = array[i], array[last]
     47     # Sort the partitions
---> 48     sort(array, first, i-1)
     49     sort(array, i+1, last)
     50     return array

/Users/omareid/Desktop/playground/datastructs/sorting/quick.pyc in sort(array, first, last)
     46     array[last], array[i] = array[i], array[last]
     47     # Sort the partitions
---> 48     sort(array, first, i-1)
     49     sort(array, i+1, last)
     50     return array

/Users/omareid/Desktop/playground/datastructs/sorting/quick.pyc in sort(array, first, last)
     46     array[last], array[i] = array[i], array[last]
     47     # Sort the partitions
---> 48     sort(array, first, i-1)
     49     sort(array, i+1, last)
     50     return array

/Users/omareid/Desktop/playground/datastructs/sorting/quick.pyc in sort(array, first, last)
     46     array[last], array[i] = array[i], array[last]
     47     # Sort the partitions
---> 48     sort(array, first, i-1)
     49     sort(array, i+1, last)
     50     return array

/Users/omareid/Desktop/playground/datastructs/sorting/quick.pyc in sort(array, first, last)
     46     array[last], array[i] = array[i], array[last]
     47     # Sort the partitions
---> 48     sort(array, first, i-1)
     49     sort(array, i+1, last)
     50     return array

/Users/omareid/Desktop/playground/datastructs/sorting/quick.pyc in sort(array, first, last)
     46     array[last], array[i] = array[i], array[last]
     47     # Sort the partitions
---> 48     sort(array, first, i-1)
     49     sort(array, i+1, last)
     50     return array

/Users/omareid/Desktop/playground/datastructs/sorting/quick.pyc in sort(array, first, last)
     46     array[last], array[i] = array[i], array[last]
     47     # Sort the partitions
---> 48     sort(array, first, i-1)
     49     sort(array, i+1, last)
     50     return array

/Users/omareid/Desktop/playground/datastructs/sorting/quick.pyc in sort(array, first, last)
     46     array[last], array[i] = array[i], array[last]
     47     # Sort the partitions
---> 48     sort(array, first, i-1)
     49     sort(array, i+1, last)
     50     return array

/Users/omareid/Desktop/playground/datastructs/sorting/quick.pyc in sort(array, first, last)
     46     array[last], array[i] = array[i], array[last]
     47     # Sort the partitions
---> 48     sort(array, first, i-1)
     49     sort(array, i+1, last)
     50     return array

/Users/omareid/Desktop/playground/datastructs/sorting/quick.pyc in sort(array, first, last)
     46     array[last], array[i] = array[i], array[last]
     47     # Sort the partitions
---> 48     sort(array, first, i-1)
     49     sort(array, i+1, last)
     50     return array

/Users/omareid/Desktop/playground/datastructs/sorting/quick.pyc in sort(array, first, last)
     46     array[last], array[i] = array[i], array[last]
     47     # Sort the partitions
---> 48     sort(array, first, i-1)
     49     sort(array, i+1, last)
     50     return array

/Users/omareid/Desktop/playground/datastructs/sorting/quick.pyc in sort(array, first, last)
     46     array[last], array[i] = array[i], array[last]
     47     # Sort the partitions
---> 48     sort(array, first, i-1)
     49     sort(array, i+1, last)
     50     return array

/Users/omareid/Desktop/playground/datastructs/sorting/quick.pyc in sort(array, first, last)
     46     array[last], array[i] = array[i], array[last]
     47     # Sort the partitions
---> 48     sort(array, first, i-1)
     49     sort(array, i+1, last)
     50     return array

/Users/omareid/Desktop/playground/datastructs/sorting/quick.pyc in sort(array, first, last)
     46     array[last], array[i] = array[i], array[last]
     47     # Sort the partitions
---> 48     sort(array, first, i-1)
     49     sort(array, i+1, last)
     50     return array

/Users/omareid/Desktop/playground/datastructs/sorting/quick.pyc in sort(array, first, last)
     46     array[last], array[i] = array[i], array[last]
     47     # Sort the partitions
---> 48     sort(array, first, i-1)
     49     sort(array, i+1, last)
     50     return array

/Users/omareid/Desktop/playground/datastructs/sorting/quick.pyc in sort(array, first, last)
     46     array[last], array[i] = array[i], array[last]
     47     # Sort the partitions
---> 48     sort(array, first, i-1)
     49     sort(array, i+1, last)
     50     return array

/Users/omareid/Desktop/playground/datastructs/sorting/quick.pyc in sort(array, first, last)
     46     array[last], array[i] = array[i], array[last]
     47     # Sort the partitions
---> 48     sort(array, first, i-1)
     49     sort(array, i+1, last)
     50     return array

/Users/omareid/Desktop/playground/datastructs/sorting/quick.pyc in sort(array, first, last)
     46     array[last], array[i] = array[i], array[last]
     47     # Sort the partitions
---> 48     sort(array, first, i-1)
     49     sort(array, i+1, last)
     50     return array

/Users/omareid/Desktop/playground/datastructs/sorting/quick.pyc in sort(array, first, last)
     46     array[last], array[i] = array[i], array[last]
     47     # Sort the partitions
---> 48     sort(array, first, i-1)
     49     sort(array, i+1, last)
     50     return array

/Users/omareid/Desktop/playground/datastructs/sorting/quick.pyc in sort(array, first, last)
     46     array[last], array[i] = array[i], array[last]
     47     # Sort the partitions
---> 48     sort(array, first, i-1)
     49     sort(array, i+1, last)
     50     return array

/Users/omareid/Desktop/playground/datastructs/sorting/quick.pyc in sort(array, first, last)
     46     array[last], array[i] = array[i], array[last]
     47     # Sort the partitions
---> 48     sort(array, first, i-1)
     49     sort(array, i+1, last)
     50     return array

/Users/omareid/Desktop/playground/datastructs/sorting/quick.pyc in sort(array, first, last)
     46     array[last], array[i] = array[i], array[last]
     47     # Sort the partitions
---> 48     sort(array, first, i-1)
     49     sort(array, i+1, last)
     50     return array

/Users/omareid/Desktop/playground/datastructs/sorting/quick.pyc in sort(array, first, last)
     46     array[last], array[i] = array[i], array[last]
     47     # Sort the partitions
---> 48     sort(array, first, i-1)
     49     sort(array, i+1, last)
     50     return array

/Users/omareid/Desktop/playground/datastructs/sorting/quick.pyc in sort(array, first, last)
     46     array[last], array[i] = array[i], array[last]
     47     # Sort the partitions
---> 48     sort(array, first, i-1)
     49     sort(array, i+1, last)
     50     return array

/Users/omareid/Desktop/playground/datastructs/sorting/quick.pyc in sort(array, first, last)
     46     array[last], array[i] = array[i], array[last]
     47     # Sort the partitions
---> 48     sort(array, first, i-1)
     49     sort(array, i+1, last)
     50     return array

/Users/omareid/Desktop/playground/datastructs/sorting/quick.pyc in sort(array, first, last)
     46     array[last], array[i] = array[i], array[last]
     47     # Sort the partitions
---> 48     sort(array, first, i-1)
     49     sort(array, i+1, last)
     50     return array

/Users/omareid/Desktop/playground/datastructs/sorting/quick.pyc in sort(array, first, last)
     46     array[last], array[i] = array[i], array[last]
     47     # Sort the partitions
---> 48     sort(array, first, i-1)
     49     sort(array, i+1, last)
     50     return array

/Users/omareid/Desktop/playground/datastructs/sorting/quick.pyc in sort(array, first, last)
     46     array[last], array[i] = array[i], array[last]
     47     # Sort the partitions
---> 48     sort(array, first, i-1)
     49     sort(array, i+1, last)
     50     return array

/Users/omareid/Desktop/playground/datastructs/sorting/quick.pyc in sort(array, first, last)
     46     array[last], array[i] = array[i], array[last]
     47     # Sort the partitions
---> 48     sort(array, first, i-1)
     49     sort(array, i+1, last)
     50     return array

/Users/omareid/Desktop/playground/datastructs/sorting/quick.pyc in sort(array, first, last)
     46     array[last], array[i] = array[i], array[last]
     47     # Sort the partitions
---> 48     sort(array, first, i-1)
     49     sort(array, i+1, last)
     50     return array

/Users/omareid/Desktop/playground/datastructs/sorting/quick.pyc in sort(array, first, last)
     46     array[last], array[i] = array[i], array[last]
     47     # Sort the partitions
---> 48     sort(array, first, i-1)
     49     sort(array, i+1, last)
     50     return array

/Users/omareid/Desktop/playground/datastructs/sorting/quick.pyc in sort(array, first, last)
     46     array[last], array[i] = array[i], array[last]
     47     # Sort the partitions
---> 48     sort(array, first, i-1)
     49     sort(array, i+1, last)
     50     return array

/Users/omareid/Desktop/playground/datastructs/sorting/quick.pyc in sort(array, first, last)
     46     array[last], array[i] = array[i], array[last]
     47     # Sort the partitions
---> 48     sort(array, first, i-1)
     49     sort(array, i+1, last)
     50     return array

/Users/omareid/Desktop/playground/datastructs/sorting/quick.pyc in sort(array, first, last)
     46     array[last], array[i] = array[i], array[last]
     47     # Sort the partitions
---> 48     sort(array, first, i-1)
     49     sort(array, i+1, last)
     50     return array

/Users/omareid/Desktop/playground/datastructs/sorting/quick.pyc in sort(array, first, last)
     46     array[last], array[i] = array[i], array[last]
     47     # Sort the partitions
---> 48     sort(array, first, i-1)
     49     sort(array, i+1, last)
     50     return array

/Users/omareid/Desktop/playground/datastructs/sorting/quick.pyc in sort(array, first, last)
     46     array[last], array[i] = array[i], array[last]
     47     # Sort the partitions
---> 48     sort(array, first, i-1)
     49     sort(array, i+1, last)
     50     return array

/Users/omareid/Desktop/playground/datastructs/sorting/quick.pyc in sort(array, first, last)
     46     array[last], array[i] = array[i], array[last]
     47     # Sort the partitions
---> 48     sort(array, first, i-1)
     49     sort(array, i+1, last)
     50     return array

/Users/omareid/Desktop/playground/datastructs/sorting/quick.pyc in sort(array, first, last)
     46     array[last], array[i] = array[i], array[last]
     47     # Sort the partitions
---> 48     sort(array, first, i-1)
     49     sort(array, i+1, last)
     50     return array

/Users/omareid/Desktop/playground/datastructs/sorting/quick.pyc in sort(array, first, last)
     46     array[last], array[i] = array[i], array[last]
     47     # Sort the partitions
---> 48     sort(array, first, i-1)
     49     sort(array, i+1, last)
     50     return array

/Users/omareid/Desktop/playground/datastructs/sorting/quick.pyc in sort(array, first, last)
     46     array[last], array[i] = array[i], array[last]
     47     # Sort the partitions
---> 48     sort(array, first, i-1)
     49     sort(array, i+1, last)
     50     return array

/Users/omareid/Desktop/playground/datastructs/sorting/quick.pyc in sort(array, first, last)
     46     array[last], array[i] = array[i], array[last]
     47     # Sort the partitions
---> 48     sort(array, first, i-1)
     49     sort(array, i+1, last)
     50     return array

/Users/omareid/Desktop/playground/datastructs/sorting/quick.pyc in sort(array, first, last)
     46     array[last], array[i] = array[i], array[last]
     47     # Sort the partitions
---> 48     sort(array, first, i-1)
     49     sort(array, i+1, last)
     50     return array

/Users/omareid/Desktop/playground/datastructs/sorting/quick.pyc in sort(array, first, last)
     46     array[last], array[i] = array[i], array[last]
     47     # Sort the partitions
---> 48     sort(array, first, i-1)
     49     sort(array, i+1, last)
     50     return array

/Users/omareid/Desktop/playground/datastructs/sorting/quick.pyc in sort(array, first, last)
     46     array[last], array[i] = array[i], array[last]
     47     # Sort the partitions
---> 48     sort(array, first, i-1)
     49     sort(array, i+1, last)
     50     return array

/Users/omareid/Desktop/playground/datastructs/sorting/quick.pyc in sort(array, first, last)
     46     array[last], array[i] = array[i], array[last]
     47     # Sort the partitions
---> 48     sort(array, first, i-1)
     49     sort(array, i+1, last)
     50     return array

/Users/omareid/Desktop/playground/datastructs/sorting/quick.pyc in sort(array, first, last)
     46     array[last], array[i] = array[i], array[last]
     47     # Sort the partitions
---> 48     sort(array, first, i-1)
     49     sort(array, i+1, last)
     50     return array

/Users/omareid/Desktop/playground/datastructs/sorting/quick.pyc in sort(array, first, last)
     46     array[last], array[i] = array[i], array[last]
     47     # Sort the partitions
---> 48     sort(array, first, i-1)
     49     sort(array, i+1, last)
     50     return array

/Users/omareid/Desktop/playground/datastructs/sorting/quick.pyc in sort(array, first, last)
     46     array[last], array[i] = array[i], array[last]
     47     # Sort the partitions
---> 48     sort(array, first, i-1)
     49     sort(array, i+1, last)
     50     return array

/Users/omareid/Desktop/playground/datastructs/sorting/quick.pyc in sort(array, first, last)
     46     array[last], array[i] = array[i], array[last]
     47     # Sort the partitions
---> 48     sort(array, first, i-1)
     49     sort(array, i+1, last)
     50     return array

/Users/omareid/Desktop/playground/datastructs/sorting/quick.pyc in sort(array, first, last)
     46     array[last], array[i] = array[i], array[last]
     47     # Sort the partitions
---> 48     sort(array, first, i-1)
     49     sort(array, i+1, last)
     50     return array

/Users/omareid/Desktop/playground/datastructs/sorting/quick.pyc in sort(array, first, last)
     46     array[last], array[i] = array[i], array[last]
     47     # Sort the partitions
---> 48     sort(array, first, i-1)
     49     sort(array, i+1, last)
     50     return array

/Users/omareid/Desktop/playground/datastructs/sorting/quick.pyc in sort(array, first, last)
     46     array[last], array[i] = array[i], array[last]
     47     # Sort the partitions
---> 48     sort(array, first, i-1)
     49     sort(array, i+1, last)
     50     return array

/Users/omareid/Desktop/playground/datastructs/sorting/quick.pyc in sort(array, first, last)
     46     array[last], array[i] = array[i], array[last]
     47     # Sort the partitions
---> 48     sort(array, first, i-1)
     49     sort(array, i+1, last)
     50     return array

/Users/omareid/Desktop/playground/datastructs/sorting/quick.pyc in sort(array, first, last)
     46     array[last], array[i] = array[i], array[last]
     47     # Sort the partitions
---> 48     sort(array, first, i-1)
     49     sort(array, i+1, last)
     50     return array

/Users/omareid/Desktop/playground/datastructs/sorting/quick.pyc in sort(array, first, last)
     46     array[last], array[i] = array[i], array[last]
     47     # Sort the partitions
---> 48     sort(array, first, i-1)
     49     sort(array, i+1, last)
     50     return array

/Users/omareid/Desktop/playground/datastructs/sorting/quick.pyc in sort(array, first, last)
     46     array[last], array[i] = array[i], array[last]
     47     # Sort the partitions
---> 48     sort(array, first, i-1)
     49     sort(array, i+1, last)
     50     return array

/Users/omareid/Desktop/playground/datastructs/sorting/quick.pyc in sort(array, first, last)
     46     array[last], array[i] = array[i], array[last]
     47     # Sort the partitions
---> 48     sort(array, first, i-1)
     49     sort(array, i+1, last)
     50     return array

/Users/omareid/Desktop/playground/datastructs/sorting/quick.pyc in sort(array, first, last)
     46     array[last], array[i] = array[i], array[last]
     47     # Sort the partitions
---> 48     sort(array, first, i-1)
     49     sort(array, i+1, last)
     50     return array

/Users/omareid/Desktop/playground/datastructs/sorting/quick.pyc in sort(array, first, last)
     46     array[last], array[i] = array[i], array[last]
     47     # Sort the partitions
---> 48     sort(array, first, i-1)
     49     sort(array, i+1, last)
     50     return array

/Users/omareid/Desktop/playground/datastructs/sorting/quick.pyc in sort(array, first, last)
     46     array[last], array[i] = array[i], array[last]
     47     # Sort the partitions
---> 48     sort(array, first, i-1)
     49     sort(array, i+1, last)
     50     return array

/Users/omareid/Desktop/playground/datastructs/sorting/quick.pyc in sort(array, first, last)
     46     array[last], array[i] = array[i], array[last]
     47     # Sort the partitions
---> 48     sort(array, first, i-1)
     49     sort(array, i+1, last)
     50     return array

/Users/omareid/Desktop/playground/datastructs/sorting/quick.pyc in sort(array, first, last)
     46     array[last], array[i] = array[i], array[last]
     47     # Sort the partitions
---> 48     sort(array, first, i-1)
     49     sort(array, i+1, last)
     50     return array

/Users/omareid/Desktop/playground/datastructs/sorting/quick.pyc in sort(array, first, last)
     46     array[last], array[i] = array[i], array[last]
     47     # Sort the partitions
---> 48     sort(array, first, i-1)
     49     sort(array, i+1, last)
     50     return array

/Users/omareid/Desktop/playground/datastructs/sorting/quick.pyc in sort(array, first, last)
     46     array[last], array[i] = array[i], array[last]
     47     # Sort the partitions
---> 48     sort(array, first, i-1)
     49     sort(array, i+1, last)
     50     return array

/Users/omareid/Desktop/playground/datastructs/sorting/quick.pyc in sort(array, first, last)
     46     array[last], array[i] = array[i], array[last]
     47     # Sort the partitions
---> 48     sort(array, first, i-1)
     49     sort(array, i+1, last)
     50     return array

/Users/omareid/Desktop/playground/datastructs/sorting/quick.pyc in sort(array, first, last)
     46     array[last], array[i] = array[i], array[last]
     47     # Sort the partitions
---> 48     sort(array, first, i-1)
     49     sort(array, i+1, last)
     50     return array

/Users/omareid/Desktop/playground/datastructs/sorting/quick.pyc in sort(array, first, last)
     46     array[last], array[i] = array[i], array[last]
     47     # Sort the partitions
---> 48     sort(array, first, i-1)
     49     sort(array, i+1, last)
     50     return array

/Users/omareid/Desktop/playground/datastructs/sorting/quick.pyc in sort(array, first, last)
     46     array[last], array[i] = array[i], array[last]
     47     # Sort the partitions
---> 48     sort(array, first, i-1)
     49     sort(array, i+1, last)
     50     return array

/Users/omareid/Desktop/playground/datastructs/sorting/quick.pyc in sort(array, first, last)
     46     array[last], array[i] = array[i], array[last]
     47     # Sort the partitions
---> 48     sort(array, first, i-1)
     49     sort(array, i+1, last)
     50     return array

/Users/omareid/Desktop/playground/datastructs/sorting/quick.pyc in sort(array, first, last)
     46     array[last], array[i] = array[i], array[last]
     47     # Sort the partitions
---> 48     sort(array, first, i-1)
     49     sort(array, i+1, last)
     50     return array

/Users/omareid/Desktop/playground/datastructs/sorting/quick.pyc in sort(array, first, last)
     46     array[last], array[i] = array[i], array[last]
     47     # Sort the partitions
---> 48     sort(array, first, i-1)
     49     sort(array, i+1, last)
     50     return array

/Users/omareid/Desktop/playground/datastructs/sorting/quick.pyc in sort(array, first, last)
     46     array[last], array[i] = array[i], array[last]
     47     # Sort the partitions
---> 48     sort(array, first, i-1)
     49     sort(array, i+1, last)
     50     return array

/Users/omareid/Desktop/playground/datastructs/sorting/quick.pyc in sort(array, first, last)
     46     array[last], array[i] = array[i], array[last]
     47     # Sort the partitions
---> 48     sort(array, first, i-1)
     49     sort(array, i+1, last)
     50     return array

/Users/omareid/Desktop/playground/datastructs/sorting/quick.pyc in sort(array, first, last)
     46     array[last], array[i] = array[i], array[last]
     47     # Sort the partitions
---> 48     sort(array, first, i-1)
     49     sort(array, i+1, last)
     50     return array

/Users/omareid/Desktop/playground/datastructs/sorting/quick.pyc in sort(array, first, last)
     46     array[last], array[i] = array[i], array[last]
     47     # Sort the partitions
---> 48     sort(array, first, i-1)
     49     sort(array, i+1, last)
     50     return array

/Users/omareid/Desktop/playground/datastructs/sorting/quick.pyc in sort(array, first, last)
     46     array[last], array[i] = array[i], array[last]
     47     # Sort the partitions
---> 48     sort(array, first, i-1)
     49     sort(array, i+1, last)
     50     return array

/Users/omareid/Desktop/playground/datastructs/sorting/quick.pyc in sort(array, first, last)
     46     array[last], array[i] = array[i], array[last]
     47     # Sort the partitions
---> 48     sort(array, first, i-1)
     49     sort(array, i+1, last)
     50     return array

/Users/omareid/Desktop/playground/datastructs/sorting/quick.pyc in sort(array, first, last)
     46     array[last], array[i] = array[i], array[last]
     47     # Sort the partitions
---> 48     sort(array, first, i-1)
     49     sort(array, i+1, last)
     50     return array

/Users/omareid/Desktop/playground/datastructs/sorting/quick.pyc in sort(array, first, last)
     46     array[last], array[i] = array[i], array[last]
     47     # Sort the partitions
---> 48     sort(array, first, i-1)
     49     sort(array, i+1, last)
     50     return array

/Users/omareid/Desktop/playground/datastructs/sorting/quick.pyc in sort(array, first, last)
     46     array[last], array[i] = array[i], array[last]
     47     # Sort the partitions
---> 48     sort(array, first, i-1)
     49     sort(array, i+1, last)
     50     return array

/Users/omareid/Desktop/playground/datastructs/sorting/quick.pyc in sort(array, first, last)
     46     array[last], array[i] = array[i], array[last]
     47     # Sort the partitions
---> 48     sort(array, first, i-1)
     49     sort(array, i+1, last)
     50     return array

/Users/omareid/Desktop/playground/datastructs/sorting/quick.pyc in sort(array, first, last)
     46     array[last], array[i] = array[i], array[last]
     47     # Sort the partitions
---> 48     sort(array, first, i-1)
     49     sort(array, i+1, last)
     50     return array

/Users/omareid/Desktop/playground/datastructs/sorting/quick.pyc in sort(array, first, last)
     46     array[last], array[i] = array[i], array[last]
     47     # Sort the partitions
---> 48     sort(array, first, i-1)
     49     sort(array, i+1, last)
     50     return array

/Users/omareid/Desktop/playground/datastructs/sorting/quick.pyc in sort(array, first, last)
     46     array[last], array[i] = array[i], array[last]
     47     # Sort the partitions
---> 48     sort(array, first, i-1)
     49     sort(array, i+1, last)
     50     return array

/Users/omareid/Desktop/playground/datastructs/sorting/quick.pyc in sort(array, first, last)
     46     array[last], array[i] = array[i], array[last]
     47     # Sort the partitions
---> 48     sort(array, first, i-1)
     49     sort(array, i+1, last)
     50     return array

/Users/omareid/Desktop/playground/datastructs/sorting/quick.pyc in sort(array, first, last)
     46     array[last], array[i] = array[i], array[last]
     47     # Sort the partitions
---> 48     sort(array, first, i-1)
     49     sort(array, i+1, last)
     50     return array

/Users/omareid/Desktop/playground/datastructs/sorting/quick.pyc in sort(array, first, last)
     46     array[last], array[i] = array[i], array[last]
     47     # Sort the partitions
---> 48     sort(array, first, i-1)
     49     sort(array, i+1, last)
     50     return array

/Users/omareid/Desktop/playground/datastructs/sorting/quick.pyc in sort(array, first, last)
     46     array[last], array[i] = array[i], array[last]
     47     # Sort the partitions
---> 48     sort(array, first, i-1)
     49     sort(array, i+1, last)
     50     return array

/Users/omareid/Desktop/playground/datastructs/sorting/quick.pyc in sort(array, first, last)
     46     array[last], array[i] = array[i], array[last]
     47     # Sort the partitions
---> 48     sort(array, first, i-1)
     49     sort(array, i+1, last)
     50     return array

/Users/omareid/Desktop/playground/datastructs/sorting/quick.pyc in sort(array, first, last)
     46     array[last], array[i] = array[i], array[last]
     47     # Sort the partitions
---> 48     sort(array, first, i-1)
     49     sort(array, i+1, last)
     50     return array

/Users/omareid/Desktop/playground/datastructs/sorting/quick.pyc in sort(array, first, last)
     46     array[last], array[i] = array[i], array[last]
     47     # Sort the partitions
---> 48     sort(array, first, i-1)
     49     sort(array, i+1, last)
     50     return array

/Users/omareid/Desktop/playground/datastructs/sorting/quick.pyc in sort(array, first, last)
     46     array[last], array[i] = array[i], array[last]
     47     # Sort the partitions
---> 48     sort(array, first, i-1)
     49     sort(array, i+1, last)
     50     return array

/Users/omareid/Desktop/playground/datastructs/sorting/quick.pyc in sort(array, first, last)
     46     array[last], array[i] = array[i], array[last]
     47     # Sort the partitions
---> 48     sort(array, first, i-1)
     49     sort(array, i+1, last)
     50     return array

/Users/omareid/Desktop/playground/datastructs/sorting/quick.pyc in sort(array, first, last)
     46     array[last], array[i] = array[i], array[last]
     47     # Sort the partitions
---> 48     sort(array, first, i-1)
     49     sort(array, i+1, last)
     50     return array

/Users/omareid/Desktop/playground/datastructs/sorting/quick.pyc in sort(array, first, last)
     46     array[last], array[i] = array[i], array[last]
     47     # Sort the partitions
---> 48     sort(array, first, i-1)
     49     sort(array, i+1, last)
     50     return array

/Users/omareid/Desktop/playground/datastructs/sorting/quick.pyc in sort(array, first, last)
     46     array[last], array[i] = array[i], array[last]
     47     # Sort the partitions
---> 48     sort(array, first, i-1)
     49     sort(array, i+1, last)
     50     return array

/Users/omareid/Desktop/playground/datastructs/sorting/quick.pyc in sort(array, first, last)
     46     array[last], array[i] = array[i], array[last]
     47     # Sort the partitions
---> 48     sort(array, first, i-1)
     49     sort(array, i+1, last)
     50     return array

/Users/omareid/Desktop/playground/datastructs/sorting/quick.pyc in sort(array, first, last)
     46     array[last], array[i] = array[i], array[last]
     47     # Sort the partitions
---> 48     sort(array, first, i-1)
     49     sort(array, i+1, last)
     50     return array

/Users/omareid/Desktop/playground/datastructs/sorting/quick.pyc in sort(array, first, last)
     46     array[last], array[i] = array[i], array[last]
     47     # Sort the partitions
---> 48     sort(array, first, i-1)
     49     sort(array, i+1, last)
     50     return array

/Users/omareid/Desktop/playground/datastructs/sorting/quick.pyc in sort(array, first, last)
     46     array[last], array[i] = array[i], array[last]
     47     # Sort the partitions
---> 48     sort(array, first, i-1)
     49     sort(array, i+1, last)
     50     return array

/Users/omareid/Desktop/playground/datastructs/sorting/quick.pyc in sort(array, first, last)
     46     array[last], array[i] = array[i], array[last]
     47     # Sort the partitions
---> 48     sort(array, first, i-1)
     49     sort(array, i+1, last)
     50     return array

/Users/omareid/Desktop/playground/datastructs/sorting/quick.pyc in sort(array, first, last)
     46     array[last], array[i] = array[i], array[last]
     47     # Sort the partitions
---> 48     sort(array, first, i-1)
     49     sort(array, i+1, last)
     50     return array

/Users/omareid/Desktop/playground/datastructs/sorting/quick.pyc in sort(array, first, last)
     46     array[last], array[i] = array[i], array[last]
     47     # Sort the partitions
---> 48     sort(array, first, i-1)
     49     sort(array, i+1, last)
     50     return array

/Users/omareid/Desktop/playground/datastructs/sorting/quick.pyc in sort(array, first, last)
     46     array[last], array[i] = array[i], array[last]
     47     # Sort the partitions
---> 48     sort(array, first, i-1)
     49     sort(array, i+1, last)
     50     return array

/Users/omareid/Desktop/playground/datastructs/sorting/quick.pyc in sort(array, first, last)
     46     array[last], array[i] = array[i], array[last]
     47     # Sort the partitions
---> 48     sort(array, first, i-1)
     49     sort(array, i+1, last)
     50     return array

/Users/omareid/Desktop/playground/datastructs/sorting/quick.pyc in sort(array, first, last)
     46     array[last], array[i] = array[i], array[last]
     47     # Sort the partitions
---> 48     sort(array, first, i-1)
     49     sort(array, i+1, last)
     50     return array

/Users/omareid/Desktop/playground/datastructs/sorting/quick.pyc in sort(array, first, last)
     46     array[last], array[i] = array[i], array[last]
     47     # Sort the partitions
---> 48     sort(array, first, i-1)
     49     sort(array, i+1, last)
     50     return array

/Users/omareid/Desktop/playground/datastructs/sorting/quick.pyc in sort(array, first, last)
     46     array[last], array[i] = array[i], array[last]
     47     # Sort the partitions
---> 48     sort(array, first, i-1)
     49     sort(array, i+1, last)
     50     return array

/Users/omareid/Desktop/playground/datastructs/sorting/quick.pyc in sort(array, first, last)
     46     array[last], array[i] = array[i], array[last]
     47     # Sort the partitions
---> 48     sort(array, first, i-1)
     49     sort(array, i+1, last)
     50     return array

/Users/omareid/Desktop/playground/datastructs/sorting/quick.pyc in sort(array, first, last)
     46     array[last], array[i] = array[i], array[last]
     47     # Sort the partitions
---> 48     sort(array, first, i-1)
     49     sort(array, i+1, last)
     50     return array

/Users/omareid/Desktop/playground/datastructs/sorting/quick.pyc in sort(array, first, last)
     46     array[last], array[i] = array[i], array[last]
     47     # Sort the partitions
---> 48     sort(array, first, i-1)
     49     sort(array, i+1, last)
     50     return array

/Users/omareid/Desktop/playground/datastructs/sorting/quick.pyc in sort(array, first, last)
     46     array[last], array[i] = array[i], array[last]
     47     # Sort the partitions
---> 48     sort(array, first, i-1)
     49     sort(array, i+1, last)
     50     return array

/Users/omareid/Desktop/playground/datastructs/sorting/quick.pyc in sort(array, first, last)
     46     array[last], array[i] = array[i], array[last]
     47     # Sort the partitions
---> 48     sort(array, first, i-1)
     49     sort(array, i+1, last)
     50     return array

/Users/omareid/Desktop/playground/datastructs/sorting/quick.pyc in sort(array, first, last)
     46     array[last], array[i] = array[i], array[last]
     47     # Sort the partitions
---> 48     sort(array, first, i-1)
     49     sort(array, i+1, last)
     50     return array

/Users/omareid/Desktop/playground/datastructs/sorting/quick.pyc in sort(array, first, last)
     46     array[last], array[i] = array[i], array[last]
     47     # Sort the partitions
---> 48     sort(array, first, i-1)
     49     sort(array, i+1, last)
     50     return array

/Users/omareid/Desktop/playground/datastructs/sorting/quick.pyc in sort(array, first, last)
     46     array[last], array[i] = array[i], array[last]
     47     # Sort the partitions
---> 48     sort(array, first, i-1)
     49     sort(array, i+1, last)
     50     return array

/Users/omareid/Desktop/playground/datastructs/sorting/quick.pyc in sort(array, first, last)
     46     array[last], array[i] = array[i], array[last]
     47     # Sort the partitions
---> 48     sort(array, first, i-1)
     49     sort(array, i+1, last)
     50     return array

/Users/omareid/Desktop/playground/datastructs/sorting/quick.pyc in sort(array, first, last)
     46     array[last], array[i] = array[i], array[last]
     47     # Sort the partitions
---> 48     sort(array, first, i-1)
     49     sort(array, i+1, last)
     50     return array

/Users/omareid/Desktop/playground/datastructs/sorting/quick.pyc in sort(array, first, last)
     46     array[last], array[i] = array[i], array[last]
     47     # Sort the partitions
---> 48     sort(array, first, i-1)
     49     sort(array, i+1, last)
     50     return array

/Users/omareid/Desktop/playground/datastructs/sorting/quick.pyc in sort(array, first, last)
     46     array[last], array[i] = array[i], array[last]
     47     # Sort the partitions
---> 48     sort(array, first, i-1)
     49     sort(array, i+1, last)
     50     return array

/Users/omareid/Desktop/playground/datastructs/sorting/quick.pyc in sort(array, first, last)
     46     array[last], array[i] = array[i], array[last]
     47     # Sort the partitions
---> 48     sort(array, first, i-1)
     49     sort(array, i+1, last)
     50     return array

/Users/omareid/Desktop/playground/datastructs/sorting/quick.pyc in sort(array, first, last)
     46     array[last], array[i] = array[i], array[last]
     47     # Sort the partitions
---> 48     sort(array, first, i-1)
     49     sort(array, i+1, last)
     50     return array

/Users/omareid/Desktop/playground/datastructs/sorting/quick.pyc in sort(array, first, last)
     46     array[last], array[i] = array[i], array[last]
     47     # Sort the partitions
---> 48     sort(array, first, i-1)
     49     sort(array, i+1, last)
     50     return array

/Users/omareid/Desktop/playground/datastructs/sorting/quick.pyc in sort(array, first, last)
     46     array[last], array[i] = array[i], array[last]
     47     # Sort the partitions
---> 48     sort(array, first, i-1)
     49     sort(array, i+1, last)
     50     return array

/Users/omareid/Desktop/playground/datastructs/sorting/quick.pyc in sort(array, first, last)
     46     array[last], array[i] = array[i], array[last]
     47     # Sort the partitions
---> 48     sort(array, first, i-1)
     49     sort(array, i+1, last)
     50     return array

/Users/omareid/Desktop/playground/datastructs/sorting/quick.pyc in sort(array, first, last)
     46     array[last], array[i] = array[i], array[last]
     47     # Sort the partitions
---> 48     sort(array, first, i-1)
     49     sort(array, i+1, last)
     50     return array

/Users/omareid/Desktop/playground/datastructs/sorting/quick.pyc in sort(array, first, last)
     46     array[last], array[i] = array[i], array[last]
     47     # Sort the partitions
---> 48     sort(array, first, i-1)
     49     sort(array, i+1, last)
     50     return array

/Users/omareid/Desktop/playground/datastructs/sorting/quick.pyc in sort(array, first, last)
     46     array[last], array[i] = array[i], array[last]
     47     # Sort the partitions
---> 48     sort(array, first, i-1)
     49     sort(array, i+1, last)
     50     return array

/Users/omareid/Desktop/playground/datastructs/sorting/quick.pyc in sort(array, first, last)
     46     array[last], array[i] = array[i], array[last]
     47     # Sort the partitions
---> 48     sort(array, first, i-1)
     49     sort(array, i+1, last)
     50     return array

/Users/omareid/Desktop/playground/datastructs/sorting/quick.pyc in sort(array, first, last)
     46     array[last], array[i] = array[i], array[last]
     47     # Sort the partitions
---> 48     sort(array, first, i-1)
     49     sort(array, i+1, last)
     50     return array

/Users/omareid/Desktop/playground/datastructs/sorting/quick.pyc in sort(array, first, last)
     46     array[last], array[i] = array[i], array[last]
     47     # Sort the partitions
---> 48     sort(array, first, i-1)
     49     sort(array, i+1, last)
     50     return array

/Users/omareid/Desktop/playground/datastructs/sorting/quick.pyc in sort(array, first, last)
     46     array[last], array[i] = array[i], array[last]
     47     # Sort the partitions
---> 48     sort(array, first, i-1)
     49     sort(array, i+1, last)
     50     return array

/Users/omareid/Desktop/playground/datastructs/sorting/quick.pyc in sort(array, first, last)
     46     array[last], array[i] = array[i], array[last]
     47     # Sort the partitions
---> 48     sort(array, first, i-1)
     49     sort(array, i+1, last)
     50     return array

/Users/omareid/Desktop/playground/datastructs/sorting/quick.pyc in sort(array, first, last)
     46     array[last], array[i] = array[i], array[last]
     47     # Sort the partitions
---> 48     sort(array, first, i-1)
     49     sort(array, i+1, last)
     50     return array

/Users/omareid/Desktop/playground/datastructs/sorting/quick.pyc in sort(array, first, last)
     46     array[last], array[i] = array[i], array[last]
     47     # Sort the partitions
---> 48     sort(array, first, i-1)
     49     sort(array, i+1, last)
     50     return array

/Users/omareid/Desktop/playground/datastructs/sorting/quick.pyc in sort(array, first, last)
     46     array[last], array[i] = array[i], array[last]
     47     # Sort the partitions
---> 48     sort(array, first, i-1)
     49     sort(array, i+1, last)
     50     return array

/Users/omareid/Desktop/playground/datastructs/sorting/quick.pyc in sort(array, first, last)
     46     array[last], array[i] = array[i], array[last]
     47     # Sort the partitions
---> 48     sort(array, first, i-1)
     49     sort(array, i+1, last)
     50     return array

/Users/omareid/Desktop/playground/datastructs/sorting/quick.pyc in sort(array, first, last)
     46     array[last], array[i] = array[i], array[last]
     47     # Sort the partitions
---> 48     sort(array, first, i-1)
     49     sort(array, i+1, last)
     50     return array

/Users/omareid/Desktop/playground/datastructs/sorting/quick.pyc in sort(array, first, last)
     46     array[last], array[i] = array[i], array[last]
     47     # Sort the partitions
---> 48     sort(array, first, i-1)
     49     sort(array, i+1, last)
     50     return array

/Users/omareid/Desktop/playground/datastructs/sorting/quick.pyc in sort(array, first, last)
     46     array[last], array[i] = array[i], array[last]
     47     # Sort the partitions
---> 48     sort(array, first, i-1)
     49     sort(array, i+1, last)
     50     return array

/Users/omareid/Desktop/playground/datastructs/sorting/quick.pyc in sort(array, first, last)
     46     array[last], array[i] = array[i], array[last]
     47     # Sort the partitions
---> 48     sort(array, first, i-1)
     49     sort(array, i+1, last)
     50     return array

/Users/omareid/Desktop/playground/datastructs/sorting/quick.pyc in sort(array, first, last)
     46     array[last], array[i] = array[i], array[last]
     47     # Sort the partitions
---> 48     sort(array, first, i-1)
     49     sort(array, i+1, last)
     50     return array

/Users/omareid/Desktop/playground/datastructs/sorting/quick.pyc in sort(array, first, last)
     46     array[last], array[i] = array[i], array[last]
     47     # Sort the partitions
---> 48     sort(array, first, i-1)
     49     sort(array, i+1, last)
     50     return array

/Users/omareid/Desktop/playground/datastructs/sorting/quick.pyc in sort(array, first, last)
     46     array[last], array[i] = array[i], array[last]
     47     # Sort the partitions
---> 48     sort(array, first, i-1)
     49     sort(array, i+1, last)
     50     return array

/Users/omareid/Desktop/playground/datastructs/sorting/quick.pyc in sort(array, first, last)
     46     array[last], array[i] = array[i], array[last]
     47     # Sort the partitions
---> 48     sort(array, first, i-1)
     49     sort(array, i+1, last)
     50     return array

/Users/omareid/Desktop/playground/datastructs/sorting/quick.pyc in sort(array, first, last)
     46     array[last], array[i] = array[i], array[last]
     47     # Sort the partitions
---> 48     sort(array, first, i-1)
     49     sort(array, i+1, last)
     50     return array

/Users/omareid/Desktop/playground/datastructs/sorting/quick.pyc in sort(array, first, last)
     46     array[last], array[i] = array[i], array[last]
     47     # Sort the partitions
---> 48     sort(array, first, i-1)
     49     sort(array, i+1, last)
     50     return array

/Users/omareid/Desktop/playground/datastructs/sorting/quick.pyc in sort(array, first, last)
     46     array[last], array[i] = array[i], array[last]
     47     # Sort the partitions
---> 48     sort(array, first, i-1)
     49     sort(array, i+1, last)
     50     return array

/Users/omareid/Desktop/playground/datastructs/sorting/quick.pyc in sort(array, first, last)
     46     array[last], array[i] = array[i], array[last]
     47     # Sort the partitions
---> 48     sort(array, first, i-1)
     49     sort(array, i+1, last)
     50     return array

/Users/omareid/Desktop/playground/datastructs/sorting/quick.pyc in sort(array, first, last)
     46     array[last], array[i] = array[i], array[last]
     47     # Sort the partitions
---> 48     sort(array, first, i-1)
     49     sort(array, i+1, last)
     50     return array

/Users/omareid/Desktop/playground/datastructs/sorting/quick.pyc in sort(array, first, last)
     46     array[last], array[i] = array[i], array[last]
     47     # Sort the partitions
---> 48     sort(array, first, i-1)
     49     sort(array, i+1, last)
     50     return array

/Users/omareid/Desktop/playground/datastructs/sorting/quick.pyc in sort(array, first, last)
     46     array[last], array[i] = array[i], array[last]
     47     # Sort the partitions
---> 48     sort(array, first, i-1)
     49     sort(array, i+1, last)
     50     return array

/Users/omareid/Desktop/playground/datastructs/sorting/quick.pyc in sort(array, first, last)
     46     array[last], array[i] = array[i], array[last]
     47     # Sort the partitions
---> 48     sort(array, first, i-1)
     49     sort(array, i+1, last)
     50     return array

/Users/omareid/Desktop/playground/datastructs/sorting/quick.pyc in sort(array, first, last)
     46     array[last], array[i] = array[i], array[last]
     47     # Sort the partitions
---> 48     sort(array, first, i-1)
     49     sort(array, i+1, last)
     50     return array

/Users/omareid/Desktop/playground/datastructs/sorting/quick.pyc in sort(array, first, last)
     46     array[last], array[i] = array[i], array[last]
     47     # Sort the partitions
---> 48     sort(array, first, i-1)
     49     sort(array, i+1, last)
     50     return array

/Users/omareid/Desktop/playground/datastructs/sorting/quick.pyc in sort(array, first, last)
     46     array[last], array[i] = array[i], array[last]
     47     # Sort the partitions
---> 48     sort(array, first, i-1)
     49     sort(array, i+1, last)
     50     return array

/Users/omareid/Desktop/playground/datastructs/sorting/quick.pyc in sort(array, first, last)
     46     array[last], array[i] = array[i], array[last]
     47     # Sort the partitions
---> 48     sort(array, first, i-1)
     49     sort(array, i+1, last)
     50     return array

/Users/omareid/Desktop/playground/datastructs/sorting/quick.pyc in sort(array, first, last)
     46     array[last], array[i] = array[i], array[last]
     47     # Sort the partitions
---> 48     sort(array, first, i-1)
     49     sort(array, i+1, last)
     50     return array

/Users/omareid/Desktop/playground/datastructs/sorting/quick.pyc in sort(array, first, last)
     46     array[last], array[i] = array[i], array[last]
     47     # Sort the partitions
---> 48     sort(array, first, i-1)
     49     sort(array, i+1, last)
     50     return array

/Users/omareid/Desktop/playground/datastructs/sorting/quick.pyc in sort(array, first, last)
     46     array[last], array[i] = array[i], array[last]
     47     # Sort the partitions
---> 48     sort(array, first, i-1)
     49     sort(array, i+1, last)
     50     return array

/Users/omareid/Desktop/playground/datastructs/sorting/quick.pyc in sort(array, first, last)
     46     array[last], array[i] = array[i], array[last]
     47     # Sort the partitions
---> 48     sort(array, first, i-1)
     49     sort(array, i+1, last)
     50     return array

/Users/omareid/Desktop/playground/datastructs/sorting/quick.pyc in sort(array, first, last)
     46     array[last], array[i] = array[i], array[last]
     47     # Sort the partitions
---> 48     sort(array, first, i-1)
     49     sort(array, i+1, last)
     50     return array

/Users/omareid/Desktop/playground/datastructs/sorting/quick.pyc in sort(array, first, last)
     46     array[last], array[i] = array[i], array[last]
     47     # Sort the partitions
---> 48     sort(array, first, i-1)
     49     sort(array, i+1, last)
     50     return array

/Users/omareid/Desktop/playground/datastructs/sorting/quick.pyc in sort(array, first, last)
     46     array[last], array[i] = array[i], array[last]
     47     # Sort the partitions
---> 48     sort(array, first, i-1)
     49     sort(array, i+1, last)
     50     return array

/Users/omareid/Desktop/playground/datastructs/sorting/quick.pyc in sort(array, first, last)
     46     array[last], array[i] = array[i], array[last]
     47     # Sort the partitions
---> 48     sort(array, first, i-1)
     49     sort(array, i+1, last)
     50     return array

/Users/omareid/Desktop/playground/datastructs/sorting/quick.pyc in sort(array, first, last)
     46     array[last], array[i] = array[i], array[last]
     47     # Sort the partitions
---> 48     sort(array, first, i-1)
     49     sort(array, i+1, last)
     50     return array

/Users/omareid/Desktop/playground/datastructs/sorting/quick.pyc in sort(array, first, last)
     46     array[last], array[i] = array[i], array[last]
     47     # Sort the partitions
---> 48     sort(array, first, i-1)
     49     sort(array, i+1, last)
     50     return array

/Users/omareid/Desktop/playground/datastructs/sorting/quick.pyc in sort(array, first, last)
     46     array[last], array[i] = array[i], array[last]
     47     # Sort the partitions
---> 48     sort(array, first, i-1)
     49     sort(array, i+1, last)
     50     return array

/Users/omareid/Desktop/playground/datastructs/sorting/quick.pyc in sort(array, first, last)
     46     array[last], array[i] = array[i], array[last]
     47     # Sort the partitions
---> 48     sort(array, first, i-1)
     49     sort(array, i+1, last)
     50     return array

/Users/omareid/Desktop/playground/datastructs/sorting/quick.pyc in sort(array, first, last)
     46     array[last], array[i] = array[i], array[last]
     47     # Sort the partitions
---> 48     sort(array, first, i-1)
     49     sort(array, i+1, last)
     50     return array

/Users/omareid/Desktop/playground/datastructs/sorting/quick.pyc in sort(array, first, last)
     46     array[last], array[i] = array[i], array[last]
     47     # Sort the partitions
---> 48     sort(array, first, i-1)
     49     sort(array, i+1, last)
     50     return array

/Users/omareid/Desktop/playground/datastructs/sorting/quick.pyc in sort(array, first, last)
     46     array[last], array[i] = array[i], array[last]
     47     # Sort the partitions
---> 48     sort(array, first, i-1)
     49     sort(array, i+1, last)
     50     return array

/Users/omareid/Desktop/playground/datastructs/sorting/quick.pyc in sort(array, first, last)
     46     array[last], array[i] = array[i], array[last]
     47     # Sort the partitions
---> 48     sort(array, first, i-1)
     49     sort(array, i+1, last)
     50     return array

/Users/omareid/Desktop/playground/datastructs/sorting/quick.pyc in sort(array, first, last)
     46     array[last], array[i] = array[i], array[last]
     47     # Sort the partitions
---> 48     sort(array, first, i-1)
     49     sort(array, i+1, last)
     50     return array

/Users/omareid/Desktop/playground/datastructs/sorting/quick.pyc in sort(array, first, last)
     46     array[last], array[i] = array[i], array[last]
     47     # Sort the partitions
---> 48     sort(array, first, i-1)
     49     sort(array, i+1, last)
     50     return array

/Users/omareid/Desktop/playground/datastructs/sorting/quick.pyc in sort(array, first, last)
     46     array[last], array[i] = array[i], array[last]
     47     # Sort the partitions
---> 48     sort(array, first, i-1)
     49     sort(array, i+1, last)
     50     return array

/Users/omareid/Desktop/playground/datastructs/sorting/quick.pyc in sort(array, first, last)
     46     array[last], array[i] = array[i], array[last]
     47     # Sort the partitions
---> 48     sort(array, first, i-1)
     49     sort(array, i+1, last)
     50     return array

/Users/omareid/Desktop/playground/datastructs/sorting/quick.pyc in sort(array, first, last)
     46     array[last], array[i] = array[i], array[last]
     47     # Sort the partitions
---> 48     sort(array, first, i-1)
     49     sort(array, i+1, last)
     50     return array

/Users/omareid/Desktop/playground/datastructs/sorting/quick.pyc in sort(array, first, last)
     46     array[last], array[i] = array[i], array[last]
     47     # Sort the partitions
---> 48     sort(array, first, i-1)
     49     sort(array, i+1, last)
     50     return array

/Users/omareid/Desktop/playground/datastructs/sorting/quick.pyc in sort(array, first, last)
     46     array[last], array[i] = array[i], array[last]
     47     # Sort the partitions
---> 48     sort(array, first, i-1)
     49     sort(array, i+1, last)
     50     return array

/Users/omareid/Desktop/playground/datastructs/sorting/quick.pyc in sort(array, first, last)
     46     array[last], array[i] = array[i], array[last]
     47     # Sort the partitions
---> 48     sort(array, first, i-1)
     49     sort(array, i+1, last)
     50     return array

/Users/omareid/Desktop/playground/datastructs/sorting/quick.pyc in sort(array, first, last)
     46     array[last], array[i] = array[i], array[last]
     47     # Sort the partitions
---> 48     sort(array, first, i-1)
     49     sort(array, i+1, last)
     50     return array

/Users/omareid/Desktop/playground/datastructs/sorting/quick.pyc in sort(array, first, last)
     46     array[last], array[i] = array[i], array[last]
     47     # Sort the partitions
---> 48     sort(array, first, i-1)
     49     sort(array, i+1, last)
     50     return array

/Users/omareid/Desktop/playground/datastructs/sorting/quick.pyc in sort(array, first, last)
     46     array[last], array[i] = array[i], array[last]
     47     # Sort the partitions
---> 48     sort(array, first, i-1)
     49     sort(array, i+1, last)
     50     return array

/Users/omareid/Desktop/playground/datastructs/sorting/quick.pyc in sort(array, first, last)
     46     array[last], array[i] = array[i], array[last]
     47     # Sort the partitions
---> 48     sort(array, first, i-1)
     49     sort(array, i+1, last)
     50     return array

/Users/omareid/Desktop/playground/datastructs/sorting/quick.pyc in sort(array, first, last)
     46     array[last], array[i] = array[i], array[last]
     47     # Sort the partitions
---> 48     sort(array, first, i-1)
     49     sort(array, i+1, last)
     50     return array

/Users/omareid/Desktop/playground/datastructs/sorting/quick.pyc in sort(array, first, last)
     46     array[last], array[i] = array[i], array[last]
     47     # Sort the partitions
---> 48     sort(array, first, i-1)
     49     sort(array, i+1, last)
     50     return array

/Users/omareid/Desktop/playground/datastructs/sorting/quick.pyc in sort(array, first, last)
     46     array[last], array[i] = array[i], array[last]
     47     # Sort the partitions
---> 48     sort(array, first, i-1)
     49     sort(array, i+1, last)
     50     return array

/Users/omareid/Desktop/playground/datastructs/sorting/quick.pyc in sort(array, first, last)
     46     array[last], array[i] = array[i], array[last]
     47     # Sort the partitions
---> 48     sort(array, first, i-1)
     49     sort(array, i+1, last)
     50     return array

/Users/omareid/Desktop/playground/datastructs/sorting/quick.pyc in sort(array, first, last)
     46     array[last], array[i] = array[i], array[last]
     47     # Sort the partitions
---> 48     sort(array, first, i-1)
     49     sort(array, i+1, last)
     50     return array

/Users/omareid/Desktop/playground/datastructs/sorting/quick.pyc in sort(array, first, last)
     46     array[last], array[i] = array[i], array[last]
     47     # Sort the partitions
---> 48     sort(array, first, i-1)
     49     sort(array, i+1, last)
     50     return array

/Users/omareid/Desktop/playground/datastructs/sorting/quick.pyc in sort(array, first, last)
     46     array[last], array[i] = array[i], array[last]
     47     # Sort the partitions
---> 48     sort(array, first, i-1)
     49     sort(array, i+1, last)
     50     return array

/Users/omareid/Desktop/playground/datastructs/sorting/quick.pyc in sort(array, first, last)
     46     array[last], array[i] = array[i], array[last]
     47     # Sort the partitions
---> 48     sort(array, first, i-1)
     49     sort(array, i+1, last)
     50     return array

/Users/omareid/Desktop/playground/datastructs/sorting/quick.pyc in sort(array, first, last)
     46     array[last], array[i] = array[i], array[last]
     47     # Sort the partitions
---> 48     sort(array, first, i-1)
     49     sort(array, i+1, last)
     50     return array

/Users/omareid/Desktop/playground/datastructs/sorting/quick.pyc in sort(array, first, last)
     46     array[last], array[i] = array[i], array[last]
     47     # Sort the partitions
---> 48     sort(array, first, i-1)
     49     sort(array, i+1, last)
     50     return array

/Users/omareid/Desktop/playground/datastructs/sorting/quick.pyc in sort(array, first, last)
     46     array[last], array[i] = array[i], array[last]
     47     # Sort the partitions
---> 48     sort(array, first, i-1)
     49     sort(array, i+1, last)
     50     return array

/Users/omareid/Desktop/playground/datastructs/sorting/quick.pyc in sort(array, first, last)
     46     array[last], array[i] = array[i], array[last]
     47     # Sort the partitions
---> 48     sort(array, first, i-1)
     49     sort(array, i+1, last)
     50     return array

/Users/omareid/Desktop/playground/datastructs/sorting/quick.pyc in sort(array, first, last)
     46     array[last], array[i] = array[i], array[last]
     47     # Sort the partitions
---> 48     sort(array, first, i-1)
     49     sort(array, i+1, last)
     50     return array

/Users/omareid/Desktop/playground/datastructs/sorting/quick.pyc in sort(array, first, last)
     46     array[last], array[i] = array[i], array[last]
     47     # Sort the partitions
---> 48     sort(array, first, i-1)
     49     sort(array, i+1, last)
     50     return array

/Users/omareid/Desktop/playground/datastructs/sorting/quick.pyc in sort(array, first, last)
     46     array[last], array[i] = array[i], array[last]
     47     # Sort the partitions
---> 48     sort(array, first, i-1)
     49     sort(array, i+1, last)
     50     return array

/Users/omareid/Desktop/playground/datastructs/sorting/quick.pyc in sort(array, first, last)
     46     array[last], array[i] = array[i], array[last]
     47     # Sort the partitions
---> 48     sort(array, first, i-1)
     49     sort(array, i+1, last)
     50     return array

/Users/omareid/Desktop/playground/datastructs/sorting/quick.pyc in sort(array, first, last)
     46     array[last], array[i] = array[i], array[last]
     47     # Sort the partitions
---> 48     sort(array, first, i-1)
     49     sort(array, i+1, last)
     50     return array

/Users/omareid/Desktop/playground/datastructs/sorting/quick.pyc in sort(array, first, last)
     46     array[last], array[i] = array[i], array[last]
     47     # Sort the partitions
---> 48     sort(array, first, i-1)
     49     sort(array, i+1, last)
     50     return array

/Users/omareid/Desktop/playground/datastructs/sorting/quick.pyc in sort(array, first, last)
     46     array[last], array[i] = array[i], array[last]
     47     # Sort the partitions
---> 48     sort(array, first, i-1)
     49     sort(array, i+1, last)
     50     return array

/Users/omareid/Desktop/playground/datastructs/sorting/quick.pyc in sort(array, first, last)
     46     array[last], array[i] = array[i], array[last]
     47     # Sort the partitions
---> 48     sort(array, first, i-1)
     49     sort(array, i+1, last)
     50     return array

/Users/omareid/Desktop/playground/datastructs/sorting/quick.pyc in sort(array, first, last)
     46     array[last], array[i] = array[i], array[last]
     47     # Sort the partitions
---> 48     sort(array, first, i-1)
     49     sort(array, i+1, last)
     50     return array

/Users/omareid/Desktop/playground/datastructs/sorting/quick.pyc in sort(array, first, last)
     46     array[last], array[i] = array[i], array[last]
     47     # Sort the partitions
---> 48     sort(array, first, i-1)
     49     sort(array, i+1, last)
     50     return array

/Users/omareid/Desktop/playground/datastructs/sorting/quick.pyc in sort(array, first, last)
     46     array[last], array[i] = array[i], array[last]
     47     # Sort the partitions
---> 48     sort(array, first, i-1)
     49     sort(array, i+1, last)
     50     return array

/Users/omareid/Desktop/playground/datastructs/sorting/quick.pyc in sort(array, first, last)
     46     array[last], array[i] = array[i], array[last]
     47     # Sort the partitions
---> 48     sort(array, first, i-1)
     49     sort(array, i+1, last)
     50     return array

/Users/omareid/Desktop/playground/datastructs/sorting/quick.pyc in sort(array, first, last)
     46     array[last], array[i] = array[i], array[last]
     47     # Sort the partitions
---> 48     sort(array, first, i-1)
     49     sort(array, i+1, last)
     50     return array

/Users/omareid/Desktop/playground/datastructs/sorting/quick.pyc in sort(array, first, last)
     46     array[last], array[i] = array[i], array[last]
     47     # Sort the partitions
---> 48     sort(array, first, i-1)
     49     sort(array, i+1, last)
     50     return array

/Users/omareid/Desktop/playground/datastructs/sorting/quick.pyc in sort(array, first, last)
     46     array[last], array[i] = array[i], array[last]
     47     # Sort the partitions
---> 48     sort(array, first, i-1)
     49     sort(array, i+1, last)
     50     return array

/Users/omareid/Desktop/playground/datastructs/sorting/quick.pyc in sort(array, first, last)
     46     array[last], array[i] = array[i], array[last]
     47     # Sort the partitions
---> 48     sort(array, first, i-1)
     49     sort(array, i+1, last)
     50     return array

/Users/omareid/Desktop/playground/datastructs/sorting/quick.pyc in sort(array, first, last)
     46     array[last], array[i] = array[i], array[last]
     47     # Sort the partitions
---> 48     sort(array, first, i-1)
     49     sort(array, i+1, last)
     50     return array

/Users/omareid/Desktop/playground/datastructs/sorting/quick.pyc in sort(array, first, last)
     46     array[last], array[i] = array[i], array[last]
     47     # Sort the partitions
---> 48     sort(array, first, i-1)
     49     sort(array, i+1, last)
     50     return array

/Users/omareid/Desktop/playground/datastructs/sorting/quick.pyc in sort(array, first, last)
     46     array[last], array[i] = array[i], array[last]
     47     # Sort the partitions
---> 48     sort(array, first, i-1)
     49     sort(array, i+1, last)
     50     return array

/Users/omareid/Desktop/playground/datastructs/sorting/quick.pyc in sort(array, first, last)
     46     array[last], array[i] = array[i], array[last]
     47     # Sort the partitions
---> 48     sort(array, first, i-1)
     49     sort(array, i+1, last)
     50     return array

/Users/omareid/Desktop/playground/datastructs/sorting/quick.pyc in sort(array, first, last)
     46     array[last], array[i] = array[i], array[last]
     47     # Sort the partitions
---> 48     sort(array, first, i-1)
     49     sort(array, i+1, last)
     50     return array

/Users/omareid/Desktop/playground/datastructs/sorting/quick.pyc in sort(array, first, last)
     46     array[last], array[i] = array[i], array[last]
     47     # Sort the partitions
---> 48     sort(array, first, i-1)
     49     sort(array, i+1, last)
     50     return array

/Users/omareid/Desktop/playground/datastructs/sorting/quick.pyc in sort(array, first, last)
     46     array[last], array[i] = array[i], array[last]
     47     # Sort the partitions
---> 48     sort(array, first, i-1)
     49     sort(array, i+1, last)
     50     return array

/Users/omareid/Desktop/playground/datastructs/sorting/quick.pyc in sort(array, first, last)
     46     array[last], array[i] = array[i], array[last]
     47     # Sort the partitions
---> 48     sort(array, first, i-1)
     49     sort(array, i+1, last)
     50     return array

/Users/omareid/Desktop/playground/datastructs/sorting/quick.pyc in sort(array, first, last)
     46     array[last], array[i] = array[i], array[last]
     47     # Sort the partitions
---> 48     sort(array, first, i-1)
     49     sort(array, i+1, last)
     50     return array

/Users/omareid/Desktop/playground/datastructs/sorting/quick.pyc in sort(array, first, last)
     46     array[last], array[i] = array[i], array[last]
     47     # Sort the partitions
---> 48     sort(array, first, i-1)
     49     sort(array, i+1, last)
     50     return array

/Users/omareid/Desktop/playground/datastructs/sorting/quick.pyc in sort(array, first, last)
     46     array[last], array[i] = array[i], array[last]
     47     # Sort the partitions
---> 48     sort(array, first, i-1)
     49     sort(array, i+1, last)
     50     return array

/Users/omareid/Desktop/playground/datastructs/sorting/quick.pyc in sort(array, first, last)
     46     array[last], array[i] = array[i], array[last]
     47     # Sort the partitions
---> 48     sort(array, first, i-1)
     49     sort(array, i+1, last)
     50     return array

/Users/omareid/Desktop/playground/datastructs/sorting/quick.pyc in sort(array, first, last)
     46     array[last], array[i] = array[i], array[last]
     47     # Sort the partitions
---> 48     sort(array, first, i-1)
     49     sort(array, i+1, last)
     50     return array

/Users/omareid/Desktop/playground/datastructs/sorting/quick.pyc in sort(array, first, last)
     46     array[last], array[i] = array[i], array[last]
     47     # Sort the partitions
---> 48     sort(array, first, i-1)
     49     sort(array, i+1, last)
     50     return array

/Users/omareid/Desktop/playground/datastructs/sorting/quick.pyc in sort(array, first, last)
     46     array[last], array[i] = array[i], array[last]
     47     # Sort the partitions
---> 48     sort(array, first, i-1)
     49     sort(array, i+1, last)
     50     return array

/Users/omareid/Desktop/playground/datastructs/sorting/quick.pyc in sort(array, first, last)
     46     array[last], array[i] = array[i], array[last]
     47     # Sort the partitions
---> 48     sort(array, first, i-1)
     49     sort(array, i+1, last)
     50     return array

/Users/omareid/Desktop/playground/datastructs/sorting/quick.pyc in sort(array, first, last)
     46     array[last], array[i] = array[i], array[last]
     47     # Sort the partitions
---> 48     sort(array, first, i-1)
     49     sort(array, i+1, last)
     50     return array

/Users/omareid/Desktop/playground/datastructs/sorting/quick.pyc in sort(array, first, last)
     46     array[last], array[i] = array[i], array[last]
     47     # Sort the partitions
---> 48     sort(array, first, i-1)
     49     sort(array, i+1, last)
     50     return array

/Users/omareid/Desktop/playground/datastructs/sorting/quick.pyc in sort(array, first, last)
     46     array[last], array[i] = array[i], array[last]
     47     # Sort the partitions
---> 48     sort(array, first, i-1)
     49     sort(array, i+1, last)
     50     return array

/Users/omareid/Desktop/playground/datastructs/sorting/quick.pyc in sort(array, first, last)
     46     array[last], array[i] = array[i], array[last]
     47     # Sort the partitions
---> 48     sort(array, first, i-1)
     49     sort(array, i+1, last)
     50     return array

/Users/omareid/Desktop/playground/datastructs/sorting/quick.pyc in sort(array, first, last)
     46     array[last], array[i] = array[i], array[last]
     47     # Sort the partitions
---> 48     sort(array, first, i-1)
     49     sort(array, i+1, last)
     50     return array

/Users/omareid/Desktop/playground/datastructs/sorting/quick.pyc in sort(array, first, last)
     46     array[last], array[i] = array[i], array[last]
     47     # Sort the partitions
---> 48     sort(array, first, i-1)
     49     sort(array, i+1, last)
     50     return array

/Users/omareid/Desktop/playground/datastructs/sorting/quick.pyc in sort(array, first, last)
     46     array[last], array[i] = array[i], array[last]
     47     # Sort the partitions
---> 48     sort(array, first, i-1)
     49     sort(array, i+1, last)
     50     return array

/Users/omareid/Desktop/playground/datastructs/sorting/quick.pyc in sort(array, first, last)
     46     array[last], array[i] = array[i], array[last]
     47     # Sort the partitions
---> 48     sort(array, first, i-1)
     49     sort(array, i+1, last)
     50     return array

/Users/omareid/Desktop/playground/datastructs/sorting/quick.pyc in sort(array, first, last)
     46     array[last], array[i] = array[i], array[last]
     47     # Sort the partitions
---> 48     sort(array, first, i-1)
     49     sort(array, i+1, last)
     50     return array

/Users/omareid/Desktop/playground/datastructs/sorting/quick.pyc in sort(array, first, last)
     46     array[last], array[i] = array[i], array[last]
     47     # Sort the partitions
---> 48     sort(array, first, i-1)
     49     sort(array, i+1, last)
     50     return array

/Users/omareid/Desktop/playground/datastructs/sorting/quick.pyc in sort(array, first, last)
     46     array[last], array[i] = array[i], array[last]
     47     # Sort the partitions
---> 48     sort(array, first, i-1)
     49     sort(array, i+1, last)
     50     return array

/Users/omareid/Desktop/playground/datastructs/sorting/quick.pyc in sort(array, first, last)
     46     array[last], array[i] = array[i], array[last]
     47     # Sort the partitions
---> 48     sort(array, first, i-1)
     49     sort(array, i+1, last)
     50     return array

/Users/omareid/Desktop/playground/datastructs/sorting/quick.pyc in sort(array, first, last)
     46     array[last], array[i] = array[i], array[last]
     47     # Sort the partitions
---> 48     sort(array, first, i-1)
     49     sort(array, i+1, last)
     50     return array

/Users/omareid/Desktop/playground/datastructs/sorting/quick.pyc in sort(array, first, last)
     46     array[last], array[i] = array[i], array[last]
     47     # Sort the partitions
---> 48     sort(array, first, i-1)
     49     sort(array, i+1, last)
     50     return array

/Users/omareid/Desktop/playground/datastructs/sorting/quick.pyc in sort(array, first, last)
     46     array[last], array[i] = array[i], array[last]
     47     # Sort the partitions
---> 48     sort(array, first, i-1)
     49     sort(array, i+1, last)
     50     return array

/Users/omareid/Desktop/playground/datastructs/sorting/quick.pyc in sort(array, first, last)
     46     array[last], array[i] = array[i], array[last]
     47     # Sort the partitions
---> 48     sort(array, first, i-1)
     49     sort(array, i+1, last)
     50     return array

/Users/omareid/Desktop/playground/datastructs/sorting/quick.pyc in sort(array, first, last)
     46     array[last], array[i] = array[i], array[last]
     47     # Sort the partitions
---> 48     sort(array, first, i-1)
     49     sort(array, i+1, last)
     50     return array

/Users/omareid/Desktop/playground/datastructs/sorting/quick.pyc in sort(array, first, last)
     46     array[last], array[i] = array[i], array[last]
     47     # Sort the partitions
---> 48     sort(array, first, i-1)
     49     sort(array, i+1, last)
     50     return array

/Users/omareid/Desktop/playground/datastructs/sorting/quick.pyc in sort(array, first, last)
     46     array[last], array[i] = array[i], array[last]
     47     # Sort the partitions
---> 48     sort(array, first, i-1)
     49     sort(array, i+1, last)
     50     return array

/Users/omareid/Desktop/playground/datastructs/sorting/quick.pyc in sort(array, first, last)
     46     array[last], array[i] = array[i], array[last]
     47     # Sort the partitions
---> 48     sort(array, first, i-1)
     49     sort(array, i+1, last)
     50     return array

/Users/omareid/Desktop/playground/datastructs/sorting/quick.pyc in sort(array, first, last)
     46     array[last], array[i] = array[i], array[last]
     47     # Sort the partitions
---> 48     sort(array, first, i-1)
     49     sort(array, i+1, last)
     50     return array

/Users/omareid/Desktop/playground/datastructs/sorting/quick.pyc in sort(array, first, last)
     46     array[last], array[i] = array[i], array[last]
     47     # Sort the partitions
---> 48     sort(array, first, i-1)
     49     sort(array, i+1, last)
     50     return array

/Users/omareid/Desktop/playground/datastructs/sorting/quick.pyc in sort(array, first, last)
     46     array[last], array[i] = array[i], array[last]
     47     # Sort the partitions
---> 48     sort(array, first, i-1)
     49     sort(array, i+1, last)
     50     return array

/Users/omareid/Desktop/playground/datastructs/sorting/quick.pyc in sort(array, first, last)
     46     array[last], array[i] = array[i], array[last]
     47     # Sort the partitions
---> 48     sort(array, first, i-1)
     49     sort(array, i+1, last)
     50     return array

/Users/omareid/Desktop/playground/datastructs/sorting/quick.pyc in sort(array, first, last)
     46     array[last], array[i] = array[i], array[last]
     47     # Sort the partitions
---> 48     sort(array, first, i-1)
     49     sort(array, i+1, last)
     50     return array

/Users/omareid/Desktop/playground/datastructs/sorting/quick.pyc in sort(array, first, last)
     46     array[last], array[i] = array[i], array[last]
     47     # Sort the partitions
---> 48     sort(array, first, i-1)
     49     sort(array, i+1, last)
     50     return array

/Users/omareid/Desktop/playground/datastructs/sorting/quick.pyc in sort(array, first, last)
     46     array[last], array[i] = array[i], array[last]
     47     # Sort the partitions
---> 48     sort(array, first, i-1)
     49     sort(array, i+1, last)
     50     return array

/Users/omareid/Desktop/playground/datastructs/sorting/quick.pyc in sort(array, first, last)
     46     array[last], array[i] = array[i], array[last]
     47     # Sort the partitions
---> 48     sort(array, first, i-1)
     49     sort(array, i+1, last)
     50     return array

/Users/omareid/Desktop/playground/datastructs/sorting/quick.pyc in sort(array, first, last)
     46     array[last], array[i] = array[i], array[last]
     47     # Sort the partitions
---> 48     sort(array, first, i-1)
     49     sort(array, i+1, last)
     50     return array

/Users/omareid/Desktop/playground/datastructs/sorting/quick.pyc in sort(array, first, last)
     46     array[last], array[i] = array[i], array[last]
     47     # Sort the partitions
---> 48     sort(array, first, i-1)
     49     sort(array, i+1, last)
     50     return array

/Users/omareid/Desktop/playground/datastructs/sorting/quick.pyc in sort(array, first, last)
     46     array[last], array[i] = array[i], array[last]
     47     # Sort the partitions
---> 48     sort(array, first, i-1)
     49     sort(array, i+1, last)
     50     return array

/Users/omareid/Desktop/playground/datastructs/sorting/quick.pyc in sort(array, first, last)
     46     array[last], array[i] = array[i], array[last]
     47     # Sort the partitions
---> 48     sort(array, first, i-1)
     49     sort(array, i+1, last)
     50     return array

/Users/omareid/Desktop/playground/datastructs/sorting/quick.pyc in sort(array, first, last)
     46     array[last], array[i] = array[i], array[last]
     47     # Sort the partitions
---> 48     sort(array, first, i-1)
     49     sort(array, i+1, last)
     50     return array

/Users/omareid/Desktop/playground/datastructs/sorting/quick.pyc in sort(array, first, last)
     46     array[last], array[i] = array[i], array[last]
     47     # Sort the partitions
---> 48     sort(array, first, i-1)
     49     sort(array, i+1, last)
     50     return array

/Users/omareid/Desktop/playground/datastructs/sorting/quick.pyc in sort(array, first, last)
     46     array[last], array[i] = array[i], array[last]
     47     # Sort the partitions
---> 48     sort(array, first, i-1)
     49     sort(array, i+1, last)
     50     return array

/Users/omareid/Desktop/playground/datastructs/sorting/quick.pyc in sort(array, first, last)
     46     array[last], array[i] = array[i], array[last]
     47     # Sort the partitions
---> 48     sort(array, first, i-1)
     49     sort(array, i+1, last)
     50     return array

/Users/omareid/Desktop/playground/datastructs/sorting/quick.pyc in sort(array, first, last)
     46     array[last], array[i] = array[i], array[last]
     47     # Sort the partitions
---> 48     sort(array, first, i-1)
     49     sort(array, i+1, last)
     50     return array

/Users/omareid/Desktop/playground/datastructs/sorting/quick.pyc in sort(array, first, last)
     46     array[last], array[i] = array[i], array[last]
     47     # Sort the partitions
---> 48     sort(array, first, i-1)
     49     sort(array, i+1, last)
     50     return array

/Users/omareid/Desktop/playground/datastructs/sorting/quick.pyc in sort(array, first, last)
     46     array[last], array[i] = array[i], array[last]
     47     # Sort the partitions
---> 48     sort(array, first, i-1)
     49     sort(array, i+1, last)
     50     return array

/Users/omareid/Desktop/playground/datastructs/sorting/quick.pyc in sort(array, first, last)
     46     array[last], array[i] = array[i], array[last]
     47     # Sort the partitions
---> 48     sort(array, first, i-1)
     49     sort(array, i+1, last)
     50     return array

/Users/omareid/Desktop/playground/datastructs/sorting/quick.pyc in sort(array, first, last)
     46     array[last], array[i] = array[i], array[last]
     47     # Sort the partitions
---> 48     sort(array, first, i-1)
     49     sort(array, i+1, last)
     50     return array

/Users/omareid/Desktop/playground/datastructs/sorting/quick.pyc in sort(array, first, last)
     46     array[last], array[i] = array[i], array[last]
     47     # Sort the partitions
---> 48     sort(array, first, i-1)
     49     sort(array, i+1, last)
     50     return array

/Users/omareid/Desktop/playground/datastructs/sorting/quick.pyc in sort(array, first, last)
     46     array[last], array[i] = array[i], array[last]
     47     # Sort the partitions
---> 48     sort(array, first, i-1)
     49     sort(array, i+1, last)
     50     return array

/Users/omareid/Desktop/playground/datastructs/sorting/quick.pyc in sort(array, first, last)
     46     array[last], array[i] = array[i], array[last]
     47     # Sort the partitions
---> 48     sort(array, first, i-1)
     49     sort(array, i+1, last)
     50     return array

/Users/omareid/Desktop/playground/datastructs/sorting/quick.pyc in sort(array, first, last)
     46     array[last], array[i] = array[i], array[last]
     47     # Sort the partitions
---> 48     sort(array, first, i-1)
     49     sort(array, i+1, last)
     50     return array

/Users/omareid/Desktop/playground/datastructs/sorting/quick.pyc in sort(array, first, last)
     46     array[last], array[i] = array[i], array[last]
     47     # Sort the partitions
---> 48     sort(array, first, i-1)
     49     sort(array, i+1, last)
     50     return array

/Users/omareid/Desktop/playground/datastructs/sorting/quick.pyc in sort(array, first, last)
     46     array[last], array[i] = array[i], array[last]
     47     # Sort the partitions
---> 48     sort(array, first, i-1)
     49     sort(array, i+1, last)
     50     return array

/Users/omareid/Desktop/playground/datastructs/sorting/quick.pyc in sort(array, first, last)
     46     array[last], array[i] = array[i], array[last]
     47     # Sort the partitions
---> 48     sort(array, first, i-1)
     49     sort(array, i+1, last)
     50     return array

/Users/omareid/Desktop/playground/datastructs/sorting/quick.pyc in sort(array, first, last)
     46     array[last], array[i] = array[i], array[last]
     47     # Sort the partitions
---> 48     sort(array, first, i-1)
     49     sort(array, i+1, last)
     50     return array

/Users/omareid/Desktop/playground/datastructs/sorting/quick.pyc in sort(array, first, last)
     46     array[last], array[i] = array[i], array[last]
     47     # Sort the partitions
---> 48     sort(array, first, i-1)
     49     sort(array, i+1, last)
     50     return array

/Users/omareid/Desktop/playground/datastructs/sorting/quick.pyc in sort(array, first, last)
     46     array[last], array[i] = array[i], array[last]
     47     # Sort the partitions
---> 48     sort(array, first, i-1)
     49     sort(array, i+1, last)
     50     return array

/Users/omareid/Desktop/playground/datastructs/sorting/quick.pyc in sort(array, first, last)
     46     array[last], array[i] = array[i], array[last]
     47     # Sort the partitions
---> 48     sort(array, first, i-1)
     49     sort(array, i+1, last)
     50     return array

/Users/omareid/Desktop/playground/datastructs/sorting/quick.pyc in sort(array, first, last)
     46     array[last], array[i] = array[i], array[last]
     47     # Sort the partitions
---> 48     sort(array, first, i-1)
     49     sort(array, i+1, last)
     50     return array

/Users/omareid/Desktop/playground/datastructs/sorting/quick.pyc in sort(array, first, last)
     46     array[last], array[i] = array[i], array[last]
     47     # Sort the partitions
---> 48     sort(array, first, i-1)
     49     sort(array, i+1, last)
     50     return array

/Users/omareid/Desktop/playground/datastructs/sorting/quick.pyc in sort(array, first, last)
     46     array[last], array[i] = array[i], array[last]
     47     # Sort the partitions
---> 48     sort(array, first, i-1)
     49     sort(array, i+1, last)
     50     return array

/Users/omareid/Desktop/playground/datastructs/sorting/quick.pyc in sort(array, first, last)
     46     array[last], array[i] = array[i], array[last]
     47     # Sort the partitions
---> 48     sort(array, first, i-1)
     49     sort(array, i+1, last)
     50     return array

/Users/omareid/Desktop/playground/datastructs/sorting/quick.pyc in sort(array, first, last)
     46     array[last], array[i] = array[i], array[last]
     47     # Sort the partitions
---> 48     sort(array, first, i-1)
     49     sort(array, i+1, last)
     50     return array

/Users/omareid/Desktop/playground/datastructs/sorting/quick.pyc in sort(array, first, last)
     46     array[last], array[i] = array[i], array[last]
     47     # Sort the partitions
---> 48     sort(array, first, i-1)
     49     sort(array, i+1, last)
     50     return array

/Users/omareid/Desktop/playground/datastructs/sorting/quick.pyc in sort(array, first, last)
     46     array[last], array[i] = array[i], array[last]
     47     # Sort the partitions
---> 48     sort(array, first, i-1)
     49     sort(array, i+1, last)
     50     return array

/Users/omareid/Desktop/playground/datastructs/sorting/quick.pyc in sort(array, first, last)
     46     array[last], array[i] = array[i], array[last]
     47     # Sort the partitions
---> 48     sort(array, first, i-1)
     49     sort(array, i+1, last)
     50     return array

/Users/omareid/Desktop/playground/datastructs/sorting/quick.pyc in sort(array, first, last)
     46     array[last], array[i] = array[i], array[last]
     47     # Sort the partitions
---> 48     sort(array, first, i-1)
     49     sort(array, i+1, last)
     50     return array

/Users/omareid/Desktop/playground/datastructs/sorting/quick.pyc in sort(array, first, last)
     46     array[last], array[i] = array[i], array[last]
     47     # Sort the partitions
---> 48     sort(array, first, i-1)
     49     sort(array, i+1, last)
     50     return array

/Users/omareid/Desktop/playground/datastructs/sorting/quick.pyc in sort(array, first, last)
     46     array[last], array[i] = array[i], array[last]
     47     # Sort the partitions
---> 48     sort(array, first, i-1)
     49     sort(array, i+1, last)
     50     return array

/Users/omareid/Desktop/playground/datastructs/sorting/quick.pyc in sort(array, first, last)
     46     array[last], array[i] = array[i], array[last]
     47     # Sort the partitions
---> 48     sort(array, first, i-1)
     49     sort(array, i+1, last)
     50     return array

/Users/omareid/Desktop/playground/datastructs/sorting/quick.pyc in sort(array, first, last)
     46     array[last], array[i] = array[i], array[last]
     47     # Sort the partitions
---> 48     sort(array, first, i-1)
     49     sort(array, i+1, last)
     50     return array

/Users/omareid/Desktop/playground/datastructs/sorting/quick.pyc in sort(array, first, last)
     46     array[last], array[i] = array[i], array[last]
     47     # Sort the partitions
---> 48     sort(array, first, i-1)
     49     sort(array, i+1, last)
     50     return array

/Users/omareid/Desktop/playground/datastructs/sorting/quick.pyc in sort(array, first, last)
     46     array[last], array[i] = array[i], array[last]
     47     # Sort the partitions
---> 48     sort(array, first, i-1)
     49     sort(array, i+1, last)
     50     return array

/Users/omareid/Desktop/playground/datastructs/sorting/quick.pyc in sort(array, first, last)
     46     array[last], array[i] = array[i], array[last]
     47     # Sort the partitions
---> 48     sort(array, first, i-1)
     49     sort(array, i+1, last)
     50     return array

/Users/omareid/Desktop/playground/datastructs/sorting/quick.pyc in sort(array, first, last)
     46     array[last], array[i] = array[i], array[last]
     47     # Sort the partitions
---> 48     sort(array, first, i-1)
     49     sort(array, i+1, last)
     50     return array

/Users/omareid/Desktop/playground/datastructs/sorting/quick.pyc in sort(array, first, last)
     46     array[last], array[i] = array[i], array[last]
     47     # Sort the partitions
---> 48     sort(array, first, i-1)
     49     sort(array, i+1, last)
     50     return array

/Users/omareid/Desktop/playground/datastructs/sorting/quick.pyc in sort(array, first, last)
     46     array[last], array[i] = array[i], array[last]
     47     # Sort the partitions
---> 48     sort(array, first, i-1)
     49     sort(array, i+1, last)
     50     return array

/Users/omareid/Desktop/playground/datastructs/sorting/quick.pyc in sort(array, first, last)
     46     array[last], array[i] = array[i], array[last]
     47     # Sort the partitions
---> 48     sort(array, first, i-1)
     49     sort(array, i+1, last)
     50     return array

/Users/omareid/Desktop/playground/datastructs/sorting/quick.pyc in sort(array, first, last)
     46     array[last], array[i] = array[i], array[last]
     47     # Sort the partitions
---> 48     sort(array, first, i-1)
     49     sort(array, i+1, last)
     50     return array

/Users/omareid/Desktop/playground/datastructs/sorting/quick.pyc in sort(array, first, last)
     46     array[last], array[i] = array[i], array[last]
     47     # Sort the partitions
---> 48     sort(array, first, i-1)
     49     sort(array, i+1, last)
     50     return array

/Users/omareid/Desktop/playground/datastructs/sorting/quick.pyc in sort(array, first, last)
     46     array[last], array[i] = array[i], array[last]
     47     # Sort the partitions
---> 48     sort(array, first, i-1)
     49     sort(array, i+1, last)
     50     return array

/Users/omareid/Desktop/playground/datastructs/sorting/quick.pyc in sort(array, first, last)
     46     array[last], array[i] = array[i], array[last]
     47     # Sort the partitions
---> 48     sort(array, first, i-1)
     49     sort(array, i+1, last)
     50     return array

/Users/omareid/Desktop/playground/datastructs/sorting/quick.pyc in sort(array, first, last)
     46     array[last], array[i] = array[i], array[last]
     47     # Sort the partitions
---> 48     sort(array, first, i-1)
     49     sort(array, i+1, last)
     50     return array

/Users/omareid/Desktop/playground/datastructs/sorting/quick.pyc in sort(array, first, last)
     46     array[last], array[i] = array[i], array[last]
     47     # Sort the partitions
---> 48     sort(array, first, i-1)
     49     sort(array, i+1, last)
     50     return array

/Users/omareid/Desktop/playground/datastructs/sorting/quick.pyc in sort(array, first, last)
     46     array[last], array[i] = array[i], array[last]
     47     # Sort the partitions
---> 48     sort(array, first, i-1)
     49     sort(array, i+1, last)
     50     return array

/Users/omareid/Desktop/playground/datastructs/sorting/quick.pyc in sort(array, first, last)
     46     array[last], array[i] = array[i], array[last]
     47     # Sort the partitions
---> 48     sort(array, first, i-1)
     49     sort(array, i+1, last)
     50     return array

/Users/omareid/Desktop/playground/datastructs/sorting/quick.pyc in sort(array, first, last)
     46     array[last], array[i] = array[i], array[last]
     47     # Sort the partitions
---> 48     sort(array, first, i-1)
     49     sort(array, i+1, last)
     50     return array

/Users/omareid/Desktop/playground/datastructs/sorting/quick.pyc in sort(array, first, last)
     46     array[last], array[i] = array[i], array[last]
     47     # Sort the partitions
---> 48     sort(array, first, i-1)
     49     sort(array, i+1, last)
     50     return array

/Users/omareid/Desktop/playground/datastructs/sorting/quick.pyc in sort(array, first, last)
     46     array[last], array[i] = array[i], array[last]
     47     # Sort the partitions
---> 48     sort(array, first, i-1)
     49     sort(array, i+1, last)
     50     return array

/Users/omareid/Desktop/playground/datastructs/sorting/quick.pyc in sort(array, first, last)
     46     array[last], array[i] = array[i], array[last]
     47     # Sort the partitions
---> 48     sort(array, first, i-1)
     49     sort(array, i+1, last)
     50     return array

/Users/omareid/Desktop/playground/datastructs/sorting/quick.pyc in sort(array, first, last)
     46     array[last], array[i] = array[i], array[last]
     47     # Sort the partitions
---> 48     sort(array, first, i-1)
     49     sort(array, i+1, last)
     50     return array

/Users/omareid/Desktop/playground/datastructs/sorting/quick.pyc in sort(array, first, last)
     46     array[last], array[i] = array[i], array[last]
     47     # Sort the partitions
---> 48     sort(array, first, i-1)
     49     sort(array, i+1, last)
     50     return array

/Users/omareid/Desktop/playground/datastructs/sorting/quick.pyc in sort(array, first, last)
     46     array[last], array[i] = array[i], array[last]
     47     # Sort the partitions
---> 48     sort(array, first, i-1)
     49     sort(array, i+1, last)
     50     return array

/Users/omareid/Desktop/playground/datastructs/sorting/quick.pyc in sort(array, first, last)
     46     array[last], array[i] = array[i], array[last]
     47     # Sort the partitions
---> 48     sort(array, first, i-1)
     49     sort(array, i+1, last)
     50     return array

/Users/omareid/Desktop/playground/datastructs/sorting/quick.pyc in sort(array, first, last)
     46     array[last], array[i] = array[i], array[last]
     47     # Sort the partitions
---> 48     sort(array, first, i-1)
     49     sort(array, i+1, last)
     50     return array

/Users/omareid/Desktop/playground/datastructs/sorting/quick.pyc in sort(array, first, last)
     46     array[last], array[i] = array[i], array[last]
     47     # Sort the partitions
---> 48     sort(array, first, i-1)
     49     sort(array, i+1, last)
     50     return array

/Users/omareid/Desktop/playground/datastructs/sorting/quick.pyc in sort(array, first, last)
     46     array[last], array[i] = array[i], array[last]
     47     # Sort the partitions
---> 48     sort(array, first, i-1)
     49     sort(array, i+1, last)
     50     return array

/Users/omareid/Desktop/playground/datastructs/sorting/quick.pyc in sort(array, first, last)
     46     array[last], array[i] = array[i], array[last]
     47     # Sort the partitions
---> 48     sort(array, first, i-1)
     49     sort(array, i+1, last)
     50     return array

/Users/omareid/Desktop/playground/datastructs/sorting/quick.pyc in sort(array, first, last)
     46     array[last], array[i] = array[i], array[last]
     47     # Sort the partitions
---> 48     sort(array, first, i-1)
     49     sort(array, i+1, last)
     50     return array

/Users/omareid/Desktop/playground/datastructs/sorting/quick.pyc in sort(array, first, last)
     46     array[last], array[i] = array[i], array[last]
     47     # Sort the partitions
---> 48     sort(array, first, i-1)
     49     sort(array, i+1, last)
     50     return array

/Users/omareid/Desktop/playground/datastructs/sorting/quick.pyc in sort(array, first, last)
     46     array[last], array[i] = array[i], array[last]
     47     # Sort the partitions
---> 48     sort(array, first, i-1)
     49     sort(array, i+1, last)
     50     return array

/Users/omareid/Desktop/playground/datastructs/sorting/quick.pyc in sort(array, first, last)
     46     array[last], array[i] = array[i], array[last]
     47     # Sort the partitions
---> 48     sort(array, first, i-1)
     49     sort(array, i+1, last)
     50     return array

/Users/omareid/Desktop/playground/datastructs/sorting/quick.pyc in sort(array, first, last)
     46     array[last], array[i] = array[i], array[last]
     47     # Sort the partitions
---> 48     sort(array, first, i-1)
     49     sort(array, i+1, last)
     50     return array

/Users/omareid/Desktop/playground/datastructs/sorting/quick.pyc in sort(array, first, last)
     46     array[last], array[i] = array[i], array[last]
     47     # Sort the partitions
---> 48     sort(array, first, i-1)
     49     sort(array, i+1, last)
     50     return array

/Users/omareid/Desktop/playground/datastructs/sorting/quick.pyc in sort(array, first, last)
     46     array[last], array[i] = array[i], array[last]
     47     # Sort the partitions
---> 48     sort(array, first, i-1)
     49     sort(array, i+1, last)
     50     return array

/Users/omareid/Desktop/playground/datastructs/sorting/quick.pyc in sort(array, first, last)
     46     array[last], array[i] = array[i], array[last]
     47     # Sort the partitions
---> 48     sort(array, first, i-1)
     49     sort(array, i+1, last)
     50     return array

/Users/omareid/Desktop/playground/datastructs/sorting/quick.pyc in sort(array, first, last)
     46     array[last], array[i] = array[i], array[last]
     47     # Sort the partitions
---> 48     sort(array, first, i-1)
     49     sort(array, i+1, last)
     50     return array

/Users/omareid/Desktop/playground/datastructs/sorting/quick.pyc in sort(array, first, last)
     46     array[last], array[i] = array[i], array[last]
     47     # Sort the partitions
---> 48     sort(array, first, i-1)
     49     sort(array, i+1, last)
     50     return array

/Users/omareid/Desktop/playground/datastructs/sorting/quick.pyc in sort(array, first, last)
     46     array[last], array[i] = array[i], array[last]
     47     # Sort the partitions
---> 48     sort(array, first, i-1)
     49     sort(array, i+1, last)
     50     return array

/Users/omareid/Desktop/playground/datastructs/sorting/quick.pyc in sort(array, first, last)
     46     array[last], array[i] = array[i], array[last]
     47     # Sort the partitions
---> 48     sort(array, first, i-1)
     49     sort(array, i+1, last)
     50     return array

/Users/omareid/Desktop/playground/datastructs/sorting/quick.pyc in sort(array, first, last)
     46     array[last], array[i] = array[i], array[last]
     47     # Sort the partitions
---> 48     sort(array, first, i-1)
     49     sort(array, i+1, last)
     50     return array

/Users/omareid/Desktop/playground/datastructs/sorting/quick.pyc in sort(array, first, last)
     46     array[last], array[i] = array[i], array[last]
     47     # Sort the partitions
---> 48     sort(array, first, i-1)
     49     sort(array, i+1, last)
     50     return array

/Users/omareid/Desktop/playground/datastructs/sorting/quick.pyc in sort(array, first, last)
     46     array[last], array[i] = array[i], array[last]
     47     # Sort the partitions
---> 48     sort(array, first, i-1)
     49     sort(array, i+1, last)
     50     return array

/Users/omareid/Desktop/playground/datastructs/sorting/quick.pyc in sort(array, first, last)
     46     array[last], array[i] = array[i], array[last]
     47     # Sort the partitions
---> 48     sort(array, first, i-1)
     49     sort(array, i+1, last)
     50     return array

/Users/omareid/Desktop/playground/datastructs/sorting/quick.pyc in sort(array, first, last)
     46     array[last], array[i] = array[i], array[last]
     47     # Sort the partitions
---> 48     sort(array, first, i-1)
     49     sort(array, i+1, last)
     50     return array

/Users/omareid/Desktop/playground/datastructs/sorting/quick.pyc in sort(array, first, last)
     46     array[last], array[i] = array[i], array[last]
     47     # Sort the partitions
---> 48     sort(array, first, i-1)
     49     sort(array, i+1, last)
     50     return array

/Users/omareid/Desktop/playground/datastructs/sorting/quick.pyc in sort(array, first, last)
     46     array[last], array[i] = array[i], array[last]
     47     # Sort the partitions
---> 48     sort(array, first, i-1)
     49     sort(array, i+1, last)
     50     return array

/Users/omareid/Desktop/playground/datastructs/sorting/quick.pyc in sort(array, first, last)
     46     array[last], array[i] = array[i], array[last]
     47     # Sort the partitions
---> 48     sort(array, first, i-1)
     49     sort(array, i+1, last)
     50     return array

/Users/omareid/Desktop/playground/datastructs/sorting/quick.pyc in sort(array, first, last)
     46     array[last], array[i] = array[i], array[last]
     47     # Sort the partitions
---> 48     sort(array, first, i-1)
     49     sort(array, i+1, last)
     50     return array

/Users/omareid/Desktop/playground/datastructs/sorting/quick.pyc in sort(array, first, last)
     46     array[last], array[i] = array[i], array[last]
     47     # Sort the partitions
---> 48     sort(array, first, i-1)
     49     sort(array, i+1, last)
     50     return array

/Users/omareid/Desktop/playground/datastructs/sorting/quick.pyc in sort(array, first, last)
     46     array[last], array[i] = array[i], array[last]
     47     # Sort the partitions
---> 48     sort(array, first, i-1)
     49     sort(array, i+1, last)
     50     return array

/Users/omareid/Desktop/playground/datastructs/sorting/quick.pyc in sort(array, first, last)
     46     array[last], array[i] = array[i], array[last]
     47     # Sort the partitions
---> 48     sort(array, first, i-1)
     49     sort(array, i+1, last)
     50     return array

/Users/omareid/Desktop/playground/datastructs/sorting/quick.pyc in sort(array, first, last)
     46     array[last], array[i] = array[i], array[last]
     47     # Sort the partitions
---> 48     sort(array, first, i-1)
     49     sort(array, i+1, last)
     50     return array

/Users/omareid/Desktop/playground/datastructs/sorting/quick.pyc in sort(array, first, last)
     46     array[last], array[i] = array[i], array[last]
     47     # Sort the partitions
---> 48     sort(array, first, i-1)
     49     sort(array, i+1, last)
     50     return array

/Users/omareid/Desktop/playground/datastructs/sorting/quick.pyc in sort(array, first, last)
     46     array[last], array[i] = array[i], array[last]
     47     # Sort the partitions
---> 48     sort(array, first, i-1)
     49     sort(array, i+1, last)
     50     return array

/Users/omareid/Desktop/playground/datastructs/sorting/quick.pyc in sort(array, first, last)
     46     array[last], array[i] = array[i], array[last]
     47     # Sort the partitions
---> 48     sort(array, first, i-1)
     49     sort(array, i+1, last)
     50     return array

/Users/omareid/Desktop/playground/datastructs/sorting/quick.pyc in sort(array, first, last)
     46     array[last], array[i] = array[i], array[last]
     47     # Sort the partitions
---> 48     sort(array, first, i-1)
     49     sort(array, i+1, last)
     50     return array

/Users/omareid/Desktop/playground/datastructs/sorting/quick.pyc in sort(array, first, last)
     46     array[last], array[i] = array[i], array[last]
     47     # Sort the partitions
---> 48     sort(array, first, i-1)
     49     sort(array, i+1, last)
     50     return array

/Users/omareid/Desktop/playground/datastructs/sorting/quick.pyc in sort(array, first, last)
     46     array[last], array[i] = array[i], array[last]
     47     # Sort the partitions
---> 48     sort(array, first, i-1)
     49     sort(array, i+1, last)
     50     return array

/Users/omareid/Desktop/playground/datastructs/sorting/quick.pyc in sort(array, first, last)
     46     array[last], array[i] = array[i], array[last]
     47     # Sort the partitions
---> 48     sort(array, first, i-1)
     49     sort(array, i+1, last)
     50     return array

/Users/omareid/Desktop/playground/datastructs/sorting/quick.pyc in sort(array, first, last)
     46     array[last], array[i] = array[i], array[last]
     47     # Sort the partitions
---> 48     sort(array, first, i-1)
     49     sort(array, i+1, last)
     50     return array

/Users/omareid/Desktop/playground/datastructs/sorting/quick.pyc in sort(array, first, last)
     46     array[last], array[i] = array[i], array[last]
     47     # Sort the partitions
---> 48     sort(array, first, i-1)
     49     sort(array, i+1, last)
     50     return array

/Users/omareid/Desktop/playground/datastructs/sorting/quick.pyc in sort(array, first, last)
     46     array[last], array[i] = array[i], array[last]
     47     # Sort the partitions
---> 48     sort(array, first, i-1)
     49     sort(array, i+1, last)
     50     return array

/Users/omareid/Desktop/playground/datastructs/sorting/quick.pyc in sort(array, first, last)
     46     array[last], array[i] = array[i], array[last]
     47     # Sort the partitions
---> 48     sort(array, first, i-1)
     49     sort(array, i+1, last)
     50     return array

/Users/omareid/Desktop/playground/datastructs/sorting/quick.pyc in sort(array, first, last)
     46     array[last], array[i] = array[i], array[last]
     47     # Sort the partitions
---> 48     sort(array, first, i-1)
     49     sort(array, i+1, last)
     50     return array

/Users/omareid/Desktop/playground/datastructs/sorting/quick.pyc in sort(array, first, last)
     46     array[last], array[i] = array[i], array[last]
     47     # Sort the partitions
---> 48     sort(array, first, i-1)
     49     sort(array, i+1, last)
     50     return array

/Users/omareid/Desktop/playground/datastructs/sorting/quick.pyc in sort(array, first, last)
     46     array[last], array[i] = array[i], array[last]
     47     # Sort the partitions
---> 48     sort(array, first, i-1)
     49     sort(array, i+1, last)
     50     return array

/Users/omareid/Desktop/playground/datastructs/sorting/quick.pyc in sort(array, first, last)
     46     array[last], array[i] = array[i], array[last]
     47     # Sort the partitions
---> 48     sort(array, first, i-1)
     49     sort(array, i+1, last)
     50     return array

/Users/omareid/Desktop/playground/datastructs/sorting/quick.pyc in sort(array, first, last)
     46     array[last], array[i] = array[i], array[last]
     47     # Sort the partitions
---> 48     sort(array, first, i-1)
     49     sort(array, i+1, last)
     50     return array

/Users/omareid/Desktop/playground/datastructs/sorting/quick.pyc in sort(array, first, last)
     46     array[last], array[i] = array[i], array[last]
     47     # Sort the partitions
---> 48     sort(array, first, i-1)
     49     sort(array, i+1, last)
     50     return array

/Users/omareid/Desktop/playground/datastructs/sorting/quick.pyc in sort(array, first, last)
     46     array[last], array[i] = array[i], array[last]
     47     # Sort the partitions
---> 48     sort(array, first, i-1)
     49     sort(array, i+1, last)
     50     return array

/Users/omareid/Desktop/playground/datastructs/sorting/quick.pyc in sort(array, first, last)
     46     array[last], array[i] = array[i], array[last]
     47     # Sort the partitions
---> 48     sort(array, first, i-1)
     49     sort(array, i+1, last)
     50     return array

/Users/omareid/Desktop/playground/datastructs/sorting/quick.pyc in sort(array, first, last)
     46     array[last], array[i] = array[i], array[last]
     47     # Sort the partitions
---> 48     sort(array, first, i-1)
     49     sort(array, i+1, last)
     50     return array

/Users/omareid/Desktop/playground/datastructs/sorting/quick.pyc in sort(array, first, last)
     46     array[last], array[i] = array[i], array[last]
     47     # Sort the partitions
---> 48     sort(array, first, i-1)
     49     sort(array, i+1, last)
     50     return array

/Users/omareid/Desktop/playground/datastructs/sorting/quick.pyc in sort(array, first, last)
     46     array[last], array[i] = array[i], array[last]
     47     # Sort the partitions
---> 48     sort(array, first, i-1)
     49     sort(array, i+1, last)
     50     return array

/Users/omareid/Desktop/playground/datastructs/sorting/quick.pyc in sort(array, first, last)
     46     array[last], array[i] = array[i], array[last]
     47     # Sort the partitions
---> 48     sort(array, first, i-1)
     49     sort(array, i+1, last)
     50     return array

/Users/omareid/Desktop/playground/datastructs/sorting/quick.pyc in sort(array, first, last)
     46     array[last], array[i] = array[i], array[last]
     47     # Sort the partitions
---> 48     sort(array, first, i-1)
     49     sort(array, i+1, last)
     50     return array

/Users/omareid/Desktop/playground/datastructs/sorting/quick.pyc in sort(array, first, last)
     46     array[last], array[i] = array[i], array[last]
     47     # Sort the partitions
---> 48     sort(array, first, i-1)
     49     sort(array, i+1, last)
     50     return array

/Users/omareid/Desktop/playground/datastructs/sorting/quick.pyc in sort(array, first, last)
     46     array[last], array[i] = array[i], array[last]
     47     # Sort the partitions
---> 48     sort(array, first, i-1)
     49     sort(array, i+1, last)
     50     return array

/Users/omareid/Desktop/playground/datastructs/sorting/quick.pyc in sort(array, first, last)
     46     array[last], array[i] = array[i], array[last]
     47     # Sort the partitions
---> 48     sort(array, first, i-1)
     49     sort(array, i+1, last)
     50     return array

/Users/omareid/Desktop/playground/datastructs/sorting/quick.pyc in sort(array, first, last)
     46     array[last], array[i] = array[i], array[last]
     47     # Sort the partitions
---> 48     sort(array, first, i-1)
     49     sort(array, i+1, last)
     50     return array

/Users/omareid/Desktop/playground/datastructs/sorting/quick.pyc in sort(array, first, last)
     46     array[last], array[i] = array[i], array[last]
     47     # Sort the partitions
---> 48     sort(array, first, i-1)
     49     sort(array, i+1, last)
     50     return array

/Users/omareid/Desktop/playground/datastructs/sorting/quick.pyc in sort(array, first, last)
     46     array[last], array[i] = array[i], array[last]
     47     # Sort the partitions
---> 48     sort(array, first, i-1)
     49     sort(array, i+1, last)
     50     return array

/Users/omareid/Desktop/playground/datastructs/sorting/quick.pyc in sort(array, first, last)
     46     array[last], array[i] = array[i], array[last]
     47     # Sort the partitions
---> 48     sort(array, first, i-1)
     49     sort(array, i+1, last)
     50     return array

/Users/omareid/Desktop/playground/datastructs/sorting/quick.pyc in sort(array, first, last)
     46     array[last], array[i] = array[i], array[last]
     47     # Sort the partitions
---> 48     sort(array, first, i-1)
     49     sort(array, i+1, last)
     50     return array

/Users/omareid/Desktop/playground/datastructs/sorting/quick.pyc in sort(array, first, last)
     46     array[last], array[i] = array[i], array[last]
     47     # Sort the partitions
---> 48     sort(array, first, i-1)
     49     sort(array, i+1, last)
     50     return array

/Users/omareid/Desktop/playground/datastructs/sorting/quick.pyc in sort(array, first, last)
     46     array[last], array[i] = array[i], array[last]
     47     # Sort the partitions
---> 48     sort(array, first, i-1)
     49     sort(array, i+1, last)
     50     return array

/Users/omareid/Desktop/playground/datastructs/sorting/quick.pyc in sort(array, first, last)
     46     array[last], array[i] = array[i], array[last]
     47     # Sort the partitions
---> 48     sort(array, first, i-1)
     49     sort(array, i+1, last)
     50     return array

/Users/omareid/Desktop/playground/datastructs/sorting/quick.pyc in sort(array, first, last)
     46     array[last], array[i] = array[i], array[last]
     47     # Sort the partitions
---> 48     sort(array, first, i-1)
     49     sort(array, i+1, last)
     50     return array

/Users/omareid/Desktop/playground/datastructs/sorting/quick.pyc in sort(array, first, last)
     46     array[last], array[i] = array[i], array[last]
     47     # Sort the partitions
---> 48     sort(array, first, i-1)
     49     sort(array, i+1, last)
     50     return array

/Users/omareid/Desktop/playground/datastructs/sorting/quick.pyc in sort(array, first, last)
     46     array[last], array[i] = array[i], array[last]
     47     # Sort the partitions
---> 48     sort(array, first, i-1)
     49     sort(array, i+1, last)
     50     return array

/Users/omareid/Desktop/playground/datastructs/sorting/quick.pyc in sort(array, first, last)
     46     array[last], array[i] = array[i], array[last]
     47     # Sort the partitions
---> 48     sort(array, first, i-1)
     49     sort(array, i+1, last)
     50     return array

/Users/omareid/Desktop/playground/datastructs/sorting/quick.pyc in sort(array, first, last)
     46     array[last], array[i] = array[i], array[last]
     47     # Sort the partitions
---> 48     sort(array, first, i-1)
     49     sort(array, i+1, last)
     50     return array

/Users/omareid/Desktop/playground/datastructs/sorting/quick.pyc in sort(array, first, last)
     46     array[last], array[i] = array[i], array[last]
     47     # Sort the partitions
---> 48     sort(array, first, i-1)
     49     sort(array, i+1, last)
     50     return array

/Users/omareid/Desktop/playground/datastructs/sorting/quick.pyc in sort(array, first, last)
     46     array[last], array[i] = array[i], array[last]
     47     # Sort the partitions
---> 48     sort(array, first, i-1)
     49     sort(array, i+1, last)
     50     return array

/Users/omareid/Desktop/playground/datastructs/sorting/quick.pyc in sort(array, first, last)
     46     array[last], array[i] = array[i], array[last]
     47     # Sort the partitions
---> 48     sort(array, first, i-1)
     49     sort(array, i+1, last)
     50     return array

/Users/omareid/Desktop/playground/datastructs/sorting/quick.pyc in sort(array, first, last)
     46     array[last], array[i] = array[i], array[last]
     47     # Sort the partitions
---> 48     sort(array, first, i-1)
     49     sort(array, i+1, last)
     50     return array

/Users/omareid/Desktop/playground/datastructs/sorting/quick.pyc in sort(array, first, last)
     46     array[last], array[i] = array[i], array[last]
     47     # Sort the partitions
---> 48     sort(array, first, i-1)
     49     sort(array, i+1, last)
     50     return array

/Users/omareid/Desktop/playground/datastructs/sorting/quick.pyc in sort(array, first, last)
     46     array[last], array[i] = array[i], array[last]
     47     # Sort the partitions
---> 48     sort(array, first, i-1)
     49     sort(array, i+1, last)
     50     return array

/Users/omareid/Desktop/playground/datastructs/sorting/quick.pyc in sort(array, first, last)
     46     array[last], array[i] = array[i], array[last]
     47     # Sort the partitions
---> 48     sort(array, first, i-1)
     49     sort(array, i+1, last)
     50     return array

/Users/omareid/Desktop/playground/datastructs/sorting/quick.pyc in sort(array, first, last)
     46     array[last], array[i] = array[i], array[last]
     47     # Sort the partitions
---> 48     sort(array, first, i-1)
     49     sort(array, i+1, last)
     50     return array

/Users/omareid/Desktop/playground/datastructs/sorting/quick.pyc in sort(array, first, last)
     46     array[last], array[i] = array[i], array[last]
     47     # Sort the partitions
---> 48     sort(array, first, i-1)
     49     sort(array, i+1, last)
     50     return array

/Users/omareid/Desktop/playground/datastructs/sorting/quick.pyc in sort(array, first, last)
     46     array[last], array[i] = array[i], array[last]
     47     # Sort the partitions
---> 48     sort(array, first, i-1)
     49     sort(array, i+1, last)
     50     return array

/Users/omareid/Desktop/playground/datastructs/sorting/quick.pyc in sort(array, first, last)
     46     array[last], array[i] = array[i], array[last]
     47     # Sort the partitions
---> 48     sort(array, first, i-1)
     49     sort(array, i+1, last)
     50     return array

/Users/omareid/Desktop/playground/datastructs/sorting/quick.pyc in sort(array, first, last)
     46     array[last], array[i] = array[i], array[last]
     47     # Sort the partitions
---> 48     sort(array, first, i-1)
     49     sort(array, i+1, last)
     50     return array

/Users/omareid/Desktop/playground/datastructs/sorting/quick.pyc in sort(array, first, last)
     46     array[last], array[i] = array[i], array[last]
     47     # Sort the partitions
---> 48     sort(array, first, i-1)
     49     sort(array, i+1, last)
     50     return array

/Users/omareid/Desktop/playground/datastructs/sorting/quick.pyc in sort(array, first, last)
     46     array[last], array[i] = array[i], array[last]
     47     # Sort the partitions
---> 48     sort(array, first, i-1)
     49     sort(array, i+1, last)
     50     return array

/Users/omareid/Desktop/playground/datastructs/sorting/quick.pyc in sort(array, first, last)
     46     array[last], array[i] = array[i], array[last]
     47     # Sort the partitions
---> 48     sort(array, first, i-1)
     49     sort(array, i+1, last)
     50     return array

/Users/omareid/Desktop/playground/datastructs/sorting/quick.pyc in sort(array, first, last)
     46     array[last], array[i] = array[i], array[last]
     47     # Sort the partitions
---> 48     sort(array, first, i-1)
     49     sort(array, i+1, last)
     50     return array

/Users/omareid/Desktop/playground/datastructs/sorting/quick.pyc in sort(array, first, last)
     46     array[last], array[i] = array[i], array[last]
     47     # Sort the partitions
---> 48     sort(array, first, i-1)
     49     sort(array, i+1, last)
     50     return array

/Users/omareid/Desktop/playground/datastructs/sorting/quick.pyc in sort(array, first, last)
     46     array[last], array[i] = array[i], array[last]
     47     # Sort the partitions
---> 48     sort(array, first, i-1)
     49     sort(array, i+1, last)
     50     return array

/Users/omareid/Desktop/playground/datastructs/sorting/quick.pyc in sort(array, first, last)
     46     array[last], array[i] = array[i], array[last]
     47     # Sort the partitions
---> 48     sort(array, first, i-1)
     49     sort(array, i+1, last)
     50     return array

/Users/omareid/Desktop/playground/datastructs/sorting/quick.pyc in sort(array, first, last)
     46     array[last], array[i] = array[i], array[last]
     47     # Sort the partitions
---> 48     sort(array, first, i-1)
     49     sort(array, i+1, last)
     50     return array

/Users/omareid/Desktop/playground/datastructs/sorting/quick.pyc in sort(array, first, last)
     46     array[last], array[i] = array[i], array[last]
     47     # Sort the partitions
---> 48     sort(array, first, i-1)
     49     sort(array, i+1, last)
     50     return array

/Users/omareid/Desktop/playground/datastructs/sorting/quick.pyc in sort(array, first, last)
     46     array[last], array[i] = array[i], array[last]
     47     # Sort the partitions
---> 48     sort(array, first, i-1)
     49     sort(array, i+1, last)
     50     return array

/Users/omareid/Desktop/playground/datastructs/sorting/quick.pyc in sort(array, first, last)
     46     array[last], array[i] = array[i], array[last]
     47     # Sort the partitions
---> 48     sort(array, first, i-1)
     49     sort(array, i+1, last)
     50     return array

/Users/omareid/Desktop/playground/datastructs/sorting/quick.pyc in sort(array, first, last)
     46     array[last], array[i] = array[i], array[last]
     47     # Sort the partitions
---> 48     sort(array, first, i-1)
     49     sort(array, i+1, last)
     50     return array

/Users/omareid/Desktop/playground/datastructs/sorting/quick.pyc in sort(array, first, last)
     46     array[last], array[i] = array[i], array[last]
     47     # Sort the partitions
---> 48     sort(array, first, i-1)
     49     sort(array, i+1, last)
     50     return array

/Users/omareid/Desktop/playground/datastructs/sorting/quick.pyc in sort(array, first, last)
     46     array[last], array[i] = array[i], array[last]
     47     # Sort the partitions
---> 48     sort(array, first, i-1)
     49     sort(array, i+1, last)
     50     return array

/Users/omareid/Desktop/playground/datastructs/sorting/quick.pyc in sort(array, first, last)
     46     array[last], array[i] = array[i], array[last]
     47     # Sort the partitions
---> 48     sort(array, first, i-1)
     49     sort(array, i+1, last)
     50     return array

/Users/omareid/Desktop/playground/datastructs/sorting/quick.pyc in sort(array, first, last)
     46     array[last], array[i] = array[i], array[last]
     47     # Sort the partitions
---> 48     sort(array, first, i-1)
     49     sort(array, i+1, last)
     50     return array

/Users/omareid/Desktop/playground/datastructs/sorting/quick.pyc in sort(array, first, last)
     46     array[last], array[i] = array[i], array[last]
     47     # Sort the partitions
---> 48     sort(array, first, i-1)
     49     sort(array, i+1, last)
     50     return array

/Users/omareid/Desktop/playground/datastructs/sorting/quick.pyc in sort(array, first, last)
     46     array[last], array[i] = array[i], array[last]
     47     # Sort the partitions
---> 48     sort(array, first, i-1)
     49     sort(array, i+1, last)
     50     return array

/Users/omareid/Desktop/playground/datastructs/sorting/quick.pyc in sort(array, first, last)
     46     array[last], array[i] = array[i], array[last]
     47     # Sort the partitions
---> 48     sort(array, first, i-1)
     49     sort(array, i+1, last)
     50     return array

/Users/omareid/Desktop/playground/datastructs/sorting/quick.pyc in sort(array, first, last)
     46     array[last], array[i] = array[i], array[last]
     47     # Sort the partitions
---> 48     sort(array, first, i-1)
     49     sort(array, i+1, last)
     50     return array

/Users/omareid/Desktop/playground/datastructs/sorting/quick.pyc in sort(array, first, last)
     46     array[last], array[i] = array[i], array[last]
     47     # Sort the partitions
---> 48     sort(array, first, i-1)
     49     sort(array, i+1, last)
     50     return array

/Users/omareid/Desktop/playground/datastructs/sorting/quick.pyc in sort(array, first, last)
     46     array[last], array[i] = array[i], array[last]
     47     # Sort the partitions
---> 48     sort(array, first, i-1)
     49     sort(array, i+1, last)
     50     return array

/Users/omareid/Desktop/playground/datastructs/sorting/quick.pyc in sort(array, first, last)
     46     array[last], array[i] = array[i], array[last]
     47     # Sort the partitions
---> 48     sort(array, first, i-1)
     49     sort(array, i+1, last)
     50     return array

/Users/omareid/Desktop/playground/datastructs/sorting/quick.pyc in sort(array, first, last)
     46     array[last], array[i] = array[i], array[last]
     47     # Sort the partitions
---> 48     sort(array, first, i-1)
     49     sort(array, i+1, last)
     50     return array

/Users/omareid/Desktop/playground/datastructs/sorting/quick.pyc in sort(array, first, last)
     46     array[last], array[i] = array[i], array[last]
     47     # Sort the partitions
---> 48     sort(array, first, i-1)
     49     sort(array, i+1, last)
     50     return array

/Users/omareid/Desktop/playground/datastructs/sorting/quick.pyc in sort(array, first, last)
     46     array[last], array[i] = array[i], array[last]
     47     # Sort the partitions
---> 48     sort(array, first, i-1)
     49     sort(array, i+1, last)
     50     return array

/Users/omareid/Desktop/playground/datastructs/sorting/quick.pyc in sort(array, first, last)
     46     array[last], array[i] = array[i], array[last]
     47     # Sort the partitions
---> 48     sort(array, first, i-1)
     49     sort(array, i+1, last)
     50     return array

/Users/omareid/Desktop/playground/datastructs/sorting/quick.pyc in sort(array, first, last)
     46     array[last], array[i] = array[i], array[last]
     47     # Sort the partitions
---> 48     sort(array, first, i-1)
     49     sort(array, i+1, last)
     50     return array

/Users/omareid/Desktop/playground/datastructs/sorting/quick.pyc in sort(array, first, last)
     46     array[last], array[i] = array[i], array[last]
     47     # Sort the partitions
---> 48     sort(array, first, i-1)
     49     sort(array, i+1, last)
     50     return array

/Users/omareid/Desktop/playground/datastructs/sorting/quick.pyc in sort(array, first, last)
     46     array[last], array[i] = array[i], array[last]
     47     # Sort the partitions
---> 48     sort(array, first, i-1)
     49     sort(array, i+1, last)
     50     return array

/Users/omareid/Desktop/playground/datastructs/sorting/quick.pyc in sort(array, first, last)
     46     array[last], array[i] = array[i], array[last]
     47     # Sort the partitions
---> 48     sort(array, first, i-1)
     49     sort(array, i+1, last)
     50     return array

/Users/omareid/Desktop/playground/datastructs/sorting/quick.pyc in sort(array, first, last)
     46     array[last], array[i] = array[i], array[last]
     47     # Sort the partitions
---> 48     sort(array, first, i-1)
     49     sort(array, i+1, last)
     50     return array

/Users/omareid/Desktop/playground/datastructs/sorting/quick.pyc in sort(array, first, last)
     46     array[last], array[i] = array[i], array[last]
     47     # Sort the partitions
---> 48     sort(array, first, i-1)
     49     sort(array, i+1, last)
     50     return array

/Users/omareid/Desktop/playground/datastructs/sorting/quick.pyc in sort(array, first, last)
     46     array[last], array[i] = array[i], array[last]
     47     # Sort the partitions
---> 48     sort(array, first, i-1)
     49     sort(array, i+1, last)
     50     return array

/Users/omareid/Desktop/playground/datastructs/sorting/quick.pyc in sort(array, first, last)
     46     array[last], array[i] = array[i], array[last]
     47     # Sort the partitions
---> 48     sort(array, first, i-1)
     49     sort(array, i+1, last)
     50     return array

/Users/omareid/Desktop/playground/datastructs/sorting/quick.pyc in sort(array, first, last)
     46     array[last], array[i] = array[i], array[last]
     47     # Sort the partitions
---> 48     sort(array, first, i-1)
     49     sort(array, i+1, last)
     50     return array

/Users/omareid/Desktop/playground/datastructs/sorting/quick.pyc in sort(array, first, last)
     46     array[last], array[i] = array[i], array[last]
     47     # Sort the partitions
---> 48     sort(array, first, i-1)
     49     sort(array, i+1, last)
     50     return array

/Users/omareid/Desktop/playground/datastructs/sorting/quick.pyc in sort(array, first, last)
     46     array[last], array[i] = array[i], array[last]
     47     # Sort the partitions
---> 48     sort(array, first, i-1)
     49     sort(array, i+1, last)
     50     return array

/Users/omareid/Desktop/playground/datastructs/sorting/quick.pyc in sort(array, first, last)
     46     array[last], array[i] = array[i], array[last]
     47     # Sort the partitions
---> 48     sort(array, first, i-1)
     49     sort(array, i+1, last)
     50     return array

/Users/omareid/Desktop/playground/datastructs/sorting/quick.pyc in sort(array, first, last)
     46     array[last], array[i] = array[i], array[last]
     47     # Sort the partitions
---> 48     sort(array, first, i-1)
     49     sort(array, i+1, last)
     50     return array

/Users/omareid/Desktop/playground/datastructs/sorting/quick.pyc in sort(array, first, last)
     46     array[last], array[i] = array[i], array[last]
     47     # Sort the partitions
---> 48     sort(array, first, i-1)
     49     sort(array, i+1, last)
     50     return array

/Users/omareid/Desktop/playground/datastructs/sorting/quick.pyc in sort(array, first, last)
     46     array[last], array[i] = array[i], array[last]
     47     # Sort the partitions
---> 48     sort(array, first, i-1)
     49     sort(array, i+1, last)
     50     return array

/Users/omareid/Desktop/playground/datastructs/sorting/quick.pyc in sort(array, first, last)
     46     array[last], array[i] = array[i], array[last]
     47     # Sort the partitions
---> 48     sort(array, first, i-1)
     49     sort(array, i+1, last)
     50     return array

/Users/omareid/Desktop/playground/datastructs/sorting/quick.pyc in sort(array, first, last)
     46     array[last], array[i] = array[i], array[last]
     47     # Sort the partitions
---> 48     sort(array, first, i-1)
     49     sort(array, i+1, last)
     50     return array

/Users/omareid/Desktop/playground/datastructs/sorting/quick.pyc in sort(array, first, last)
     46     array[last], array[i] = array[i], array[last]
     47     # Sort the partitions
---> 48     sort(array, first, i-1)
     49     sort(array, i+1, last)
     50     return array

/Users/omareid/Desktop/playground/datastructs/sorting/quick.pyc in sort(array, first, last)
     46     array[last], array[i] = array[i], array[last]
     47     # Sort the partitions
---> 48     sort(array, first, i-1)
     49     sort(array, i+1, last)
     50     return array

/Users/omareid/Desktop/playground/datastructs/sorting/quick.pyc in sort(array, first, last)
     46     array[last], array[i] = array[i], array[last]
     47     # Sort the partitions
---> 48     sort(array, first, i-1)
     49     sort(array, i+1, last)
     50     return array

/Users/omareid/Desktop/playground/datastructs/sorting/quick.pyc in sort(array, first, last)
     46     array[last], array[i] = array[i], array[last]
     47     # Sort the partitions
---> 48     sort(array, first, i-1)
     49     sort(array, i+1, last)
     50     return array

/Users/omareid/Desktop/playground/datastructs/sorting/quick.pyc in sort(array, first, last)
     46     array[last], array[i] = array[i], array[last]
     47     # Sort the partitions
---> 48     sort(array, first, i-1)
     49     sort(array, i+1, last)
     50     return array

/Users/omareid/Desktop/playground/datastructs/sorting/quick.pyc in sort(array, first, last)
     46     array[last], array[i] = array[i], array[last]
     47     # Sort the partitions
---> 48     sort(array, first, i-1)
     49     sort(array, i+1, last)
     50     return array

/Users/omareid/Desktop/playground/datastructs/sorting/quick.pyc in sort(array, first, last)
     46     array[last], array[i] = array[i], array[last]
     47     # Sort the partitions
---> 48     sort(array, first, i-1)
     49     sort(array, i+1, last)
     50     return array

/Users/omareid/Desktop/playground/datastructs/sorting/quick.pyc in sort(array, first, last)
     46     array[last], array[i] = array[i], array[last]
     47     # Sort the partitions
---> 48     sort(array, first, i-1)
     49     sort(array, i+1, last)
     50     return array

/Users/omareid/Desktop/playground/datastructs/sorting/quick.pyc in sort(array, first, last)
     46     array[last], array[i] = array[i], array[last]
     47     # Sort the partitions
---> 48     sort(array, first, i-1)
     49     sort(array, i+1, last)
     50     return array

/Users/omareid/Desktop/playground/datastructs/sorting/quick.pyc in sort(array, first, last)
     46     array[last], array[i] = array[i], array[last]
     47     # Sort the partitions
---> 48     sort(array, first, i-1)
     49     sort(array, i+1, last)
     50     return array

/Users/omareid/Desktop/playground/datastructs/sorting/quick.pyc in sort(array, first, last)
     46     array[last], array[i] = array[i], array[last]
     47     # Sort the partitions
---> 48     sort(array, first, i-1)
     49     sort(array, i+1, last)
     50     return array

/Users/omareid/Desktop/playground/datastructs/sorting/quick.pyc in sort(array, first, last)
     46     array[last], array[i] = array[i], array[last]
     47     # Sort the partitions
---> 48     sort(array, first, i-1)
     49     sort(array, i+1, last)
     50     return array

/Users/omareid/Desktop/playground/datastructs/sorting/quick.pyc in sort(array, first, last)
     46     array[last], array[i] = array[i], array[last]
     47     # Sort the partitions
---> 48     sort(array, first, i-1)
     49     sort(array, i+1, last)
     50     return array

/Users/omareid/Desktop/playground/datastructs/sorting/quick.pyc in sort(array, first, last)
     46     array[last], array[i] = array[i], array[last]
     47     # Sort the partitions
---> 48     sort(array, first, i-1)
     49     sort(array, i+1, last)
     50     return array

/Users/omareid/Desktop/playground/datastructs/sorting/quick.pyc in sort(array, first, last)
     46     array[last], array[i] = array[i], array[last]
     47     # Sort the partitions
---> 48     sort(array, first, i-1)
     49     sort(array, i+1, last)
     50     return array

/Users/omareid/Desktop/playground/datastructs/sorting/quick.pyc in sort(array, first, last)
     46     array[last], array[i] = array[i], array[last]
     47     # Sort the partitions
---> 48     sort(array, first, i-1)
     49     sort(array, i+1, last)
     50     return array

/Users/omareid/Desktop/playground/datastructs/sorting/quick.pyc in sort(array, first, last)
     46     array[last], array[i] = array[i], array[last]
     47     # Sort the partitions
---> 48     sort(array, first, i-1)
     49     sort(array, i+1, last)
     50     return array

/Users/omareid/Desktop/playground/datastructs/sorting/quick.pyc in sort(array, first, last)
     46     array[last], array[i] = array[i], array[last]
     47     # Sort the partitions
---> 48     sort(array, first, i-1)
     49     sort(array, i+1, last)
     50     return array

/Users/omareid/Desktop/playground/datastructs/sorting/quick.pyc in sort(array, first, last)
     46     array[last], array[i] = array[i], array[last]
     47     # Sort the partitions
---> 48     sort(array, first, i-1)
     49     sort(array, i+1, last)
     50     return array

/Users/omareid/Desktop/playground/datastructs/sorting/quick.pyc in sort(array, first, last)
     46     array[last], array[i] = array[i], array[last]
     47     # Sort the partitions
---> 48     sort(array, first, i-1)
     49     sort(array, i+1, last)
     50     return array

/Users/omareid/Desktop/playground/datastructs/sorting/quick.pyc in sort(array, first, last)
     46     array[last], array[i] = array[i], array[last]
     47     # Sort the partitions
---> 48     sort(array, first, i-1)
     49     sort(array, i+1, last)
     50     return array

/Users/omareid/Desktop/playground/datastructs/sorting/quick.pyc in sort(array, first, last)
     46     array[last], array[i] = array[i], array[last]
     47     # Sort the partitions
---> 48     sort(array, first, i-1)
     49     sort(array, i+1, last)
     50     return array

/Users/omareid/Desktop/playground/datastructs/sorting/quick.pyc in sort(array, first, last)
     46     array[last], array[i] = array[i], array[last]
     47     # Sort the partitions
---> 48     sort(array, first, i-1)
     49     sort(array, i+1, last)
     50     return array

/Users/omareid/Desktop/playground/datastructs/sorting/quick.pyc in sort(array, first, last)
     46     array[last], array[i] = array[i], array[last]
     47     # Sort the partitions
---> 48     sort(array, first, i-1)
     49     sort(array, i+1, last)
     50     return array

/Users/omareid/Desktop/playground/datastructs/sorting/quick.pyc in sort(array, first, last)
     46     array[last], array[i] = array[i], array[last]
     47     # Sort the partitions
---> 48     sort(array, first, i-1)
     49     sort(array, i+1, last)
     50     return array

/Users/omareid/Desktop/playground/datastructs/sorting/quick.pyc in sort(array, first, last)
     46     array[last], array[i] = array[i], array[last]
     47     # Sort the partitions
---> 48     sort(array, first, i-1)
     49     sort(array, i+1, last)
     50     return array

/Users/omareid/Desktop/playground/datastructs/sorting/quick.pyc in sort(array, first, last)
     46     array[last], array[i] = array[i], array[last]
     47     # Sort the partitions
---> 48     sort(array, first, i-1)
     49     sort(array, i+1, last)
     50     return array

/Users/omareid/Desktop/playground/datastructs/sorting/quick.pyc in sort(array, first, last)
     46     array[last], array[i] = array[i], array[last]
     47     # Sort the partitions
---> 48     sort(array, first, i-1)
     49     sort(array, i+1, last)
     50     return array

/Users/omareid/Desktop/playground/datastructs/sorting/quick.pyc in sort(array, first, last)
     46     array[last], array[i] = array[i], array[last]
     47     # Sort the partitions
---> 48     sort(array, first, i-1)
     49     sort(array, i+1, last)
     50     return array

/Users/omareid/Desktop/playground/datastructs/sorting/quick.pyc in sort(array, first, last)
     46     array[last], array[i] = array[i], array[last]
     47     # Sort the partitions
---> 48     sort(array, first, i-1)
     49     sort(array, i+1, last)
     50     return array

/Users/omareid/Desktop/playground/datastructs/sorting/quick.pyc in sort(array, first, last)
     46     array[last], array[i] = array[i], array[last]
     47     # Sort the partitions
---> 48     sort(array, first, i-1)
     49     sort(array, i+1, last)
     50     return array

/Users/omareid/Desktop/playground/datastructs/sorting/quick.pyc in sort(array, first, last)
     46     array[last], array[i] = array[i], array[last]
     47     # Sort the partitions
---> 48     sort(array, first, i-1)
     49     sort(array, i+1, last)
     50     return array

/Users/omareid/Desktop/playground/datastructs/sorting/quick.pyc in sort(array, first, last)
     46     array[last], array[i] = array[i], array[last]
     47     # Sort the partitions
---> 48     sort(array, first, i-1)
     49     sort(array, i+1, last)
     50     return array

/Users/omareid/Desktop/playground/datastructs/sorting/quick.pyc in sort(array, first, last)
     46     array[last], array[i] = array[i], array[last]
     47     # Sort the partitions
---> 48     sort(array, first, i-1)
     49     sort(array, i+1, last)
     50     return array

/Users/omareid/Desktop/playground/datastructs/sorting/quick.pyc in sort(array, first, last)
     46     array[last], array[i] = array[i], array[last]
     47     # Sort the partitions
---> 48     sort(array, first, i-1)
     49     sort(array, i+1, last)
     50     return array

/Users/omareid/Desktop/playground/datastructs/sorting/quick.pyc in sort(array, first, last)
     46     array[last], array[i] = array[i], array[last]
     47     # Sort the partitions
---> 48     sort(array, first, i-1)
     49     sort(array, i+1, last)
     50     return array

/Users/omareid/Desktop/playground/datastructs/sorting/quick.pyc in sort(array, first, last)
     46     array[last], array[i] = array[i], array[last]
     47     # Sort the partitions
---> 48     sort(array, first, i-1)
     49     sort(array, i+1, last)
     50     return array

/Users/omareid/Desktop/playground/datastructs/sorting/quick.pyc in sort(array, first, last)
     46     array[last], array[i] = array[i], array[last]
     47     # Sort the partitions
---> 48     sort(array, first, i-1)
     49     sort(array, i+1, last)
     50     return array

/Users/omareid/Desktop/playground/datastructs/sorting/quick.pyc in sort(array, first, last)
     46     array[last], array[i] = array[i], array[last]
     47     # Sort the partitions
---> 48     sort(array, first, i-1)
     49     sort(array, i+1, last)
     50     return array

/Users/omareid/Desktop/playground/datastructs/sorting/quick.pyc in sort(array, first, last)
     46     array[last], array[i] = array[i], array[last]
     47     # Sort the partitions
---> 48     sort(array, first, i-1)
     49     sort(array, i+1, last)
     50     return array

/Users/omareid/Desktop/playground/datastructs/sorting/quick.pyc in sort(array, first, last)
     46     array[last], array[i] = array[i], array[last]
     47     # Sort the partitions
---> 48     sort(array, first, i-1)
     49     sort(array, i+1, last)
     50     return array

/Users/omareid/Desktop/playground/datastructs/sorting/quick.pyc in sort(array, first, last)
     46     array[last], array[i] = array[i], array[last]
     47     # Sort the partitions
---> 48     sort(array, first, i-1)
     49     sort(array, i+1, last)
     50     return array

/Users/omareid/Desktop/playground/datastructs/sorting/quick.pyc in sort(array, first, last)
     46     array[last], array[i] = array[i], array[last]
     47     # Sort the partitions
---> 48     sort(array, first, i-1)
     49     sort(array, i+1, last)
     50     return array

/Users/omareid/Desktop/playground/datastructs/sorting/quick.pyc in sort(array, first, last)
     46     array[last], array[i] = array[i], array[last]
     47     # Sort the partitions
---> 48     sort(array, first, i-1)
     49     sort(array, i+1, last)
     50     return array

/Users/omareid/Desktop/playground/datastructs/sorting/quick.pyc in sort(array, first, last)
     46     array[last], array[i] = array[i], array[last]
     47     # Sort the partitions
---> 48     sort(array, first, i-1)
     49     sort(array, i+1, last)
     50     return array

/Users/omareid/Desktop/playground/datastructs/sorting/quick.pyc in sort(array, first, last)
     46     array[last], array[i] = array[i], array[last]
     47     # Sort the partitions
---> 48     sort(array, first, i-1)
     49     sort(array, i+1, last)
     50     return array

/Users/omareid/Desktop/playground/datastructs/sorting/quick.pyc in sort(array, first, last)
     46     array[last], array[i] = array[i], array[last]
     47     # Sort the partitions
---> 48     sort(array, first, i-1)
     49     sort(array, i+1, last)
     50     return array

/Users/omareid/Desktop/playground/datastructs/sorting/quick.pyc in sort(array, first, last)
     46     array[last], array[i] = array[i], array[last]
     47     # Sort the partitions
---> 48     sort(array, first, i-1)
     49     sort(array, i+1, last)
     50     return array

/Users/omareid/Desktop/playground/datastructs/sorting/quick.pyc in sort(array, first, last)
     46     array[last], array[i] = array[i], array[last]
     47     # Sort the partitions
---> 48     sort(array, first, i-1)
     49     sort(array, i+1, last)
     50     return array

/Users/omareid/Desktop/playground/datastructs/sorting/quick.pyc in sort(array, first, last)
     46     array[last], array[i] = array[i], array[last]
     47     # Sort the partitions
---> 48     sort(array, first, i-1)
     49     sort(array, i+1, last)
     50     return array

/Users/omareid/Desktop/playground/datastructs/sorting/quick.pyc in sort(array, first, last)
     46     array[last], array[i] = array[i], array[last]
     47     # Sort the partitions
---> 48     sort(array, first, i-1)
     49     sort(array, i+1, last)
     50     return array

/Users/omareid/Desktop/playground/datastructs/sorting/quick.pyc in sort(array, first, last)
     46     array[last], array[i] = array[i], array[last]
     47     # Sort the partitions
---> 48     sort(array, first, i-1)
     49     sort(array, i+1, last)
     50     return array

/Users/omareid/Desktop/playground/datastructs/sorting/quick.pyc in sort(array, first, last)
     46     array[last], array[i] = array[i], array[last]
     47     # Sort the partitions
---> 48     sort(array, first, i-1)
     49     sort(array, i+1, last)
     50     return array

/Users/omareid/Desktop/playground/datastructs/sorting/quick.pyc in sort(array, first, last)
     46     array[last], array[i] = array[i], array[last]
     47     # Sort the partitions
---> 48     sort(array, first, i-1)
     49     sort(array, i+1, last)
     50     return array

/Users/omareid/Desktop/playground/datastructs/sorting/quick.pyc in sort(array, first, last)
     46     array[last], array[i] = array[i], array[last]
     47     # Sort the partitions
---> 48     sort(array, first, i-1)
     49     sort(array, i+1, last)
     50     return array

/Users/omareid/Desktop/playground/datastructs/sorting/quick.pyc in sort(array, first, last)
     46     array[last], array[i] = array[i], array[last]
     47     # Sort the partitions
---> 48     sort(array, first, i-1)
     49     sort(array, i+1, last)
     50     return array

/Users/omareid/Desktop/playground/datastructs/sorting/quick.pyc in sort(array, first, last)
     46     array[last], array[i] = array[i], array[last]
     47     # Sort the partitions
---> 48     sort(array, first, i-1)
     49     sort(array, i+1, last)
     50     return array

/Users/omareid/Desktop/playground/datastructs/sorting/quick.pyc in sort(array, first, last)
     46     array[last], array[i] = array[i], array[last]
     47     # Sort the partitions
---> 48     sort(array, first, i-1)
     49     sort(array, i+1, last)
     50     return array

/Users/omareid/Desktop/playground/datastructs/sorting/quick.pyc in sort(array, first, last)
     46     array[last], array[i] = array[i], array[last]
     47     # Sort the partitions
---> 48     sort(array, first, i-1)
     49     sort(array, i+1, last)
     50     return array

/Users/omareid/Desktop/playground/datastructs/sorting/quick.pyc in sort(array, first, last)
     46     array[last], array[i] = array[i], array[last]
     47     # Sort the partitions
---> 48     sort(array, first, i-1)
     49     sort(array, i+1, last)
     50     return array

/Users/omareid/Desktop/playground/datastructs/sorting/quick.pyc in sort(array, first, last)
     46     array[last], array[i] = array[i], array[last]
     47     # Sort the partitions
---> 48     sort(array, first, i-1)
     49     sort(array, i+1, last)
     50     return array

/Users/omareid/Desktop/playground/datastructs/sorting/quick.pyc in sort(array, first, last)
     46     array[last], array[i] = array[i], array[last]
     47     # Sort the partitions
---> 48     sort(array, first, i-1)
     49     sort(array, i+1, last)
     50     return array

/Users/omareid/Desktop/playground/datastructs/sorting/quick.pyc in sort(array, first, last)
     46     array[last], array[i] = array[i], array[last]
     47     # Sort the partitions
---> 48     sort(array, first, i-1)
     49     sort(array, i+1, last)
     50     return array

/Users/omareid/Desktop/playground/datastructs/sorting/quick.pyc in sort(array, first, last)
     46     array[last], array[i] = array[i], array[last]
     47     # Sort the partitions
---> 48     sort(array, first, i-1)
     49     sort(array, i+1, last)
     50     return array

/Users/omareid/Desktop/playground/datastructs/sorting/quick.pyc in sort(array, first, last)
     46     array[last], array[i] = array[i], array[last]
     47     # Sort the partitions
---> 48     sort(array, first, i-1)
     49     sort(array, i+1, last)
     50     return array

/Users/omareid/Desktop/playground/datastructs/sorting/quick.pyc in sort(array, first, last)
     46     array[last], array[i] = array[i], array[last]
     47     # Sort the partitions
---> 48     sort(array, first, i-1)
     49     sort(array, i+1, last)
     50     return array

/Users/omareid/Desktop/playground/datastructs/sorting/quick.pyc in sort(array, first, last)
     46     array[last], array[i] = array[i], array[last]
     47     # Sort the partitions
---> 48     sort(array, first, i-1)
     49     sort(array, i+1, last)
     50     return array

/Users/omareid/Desktop/playground/datastructs/sorting/quick.pyc in sort(array, first, last)
     46     array[last], array[i] = array[i], array[last]
     47     # Sort the partitions
---> 48     sort(array, first, i-1)
     49     sort(array, i+1, last)
     50     return array

/Users/omareid/Desktop/playground/datastructs/sorting/quick.pyc in sort(array, first, last)
     46     array[last], array[i] = array[i], array[last]
     47     # Sort the partitions
---> 48     sort(array, first, i-1)
     49     sort(array, i+1, last)
     50     return array

/Users/omareid/Desktop/playground/datastructs/sorting/quick.pyc in sort(array, first, last)
     46     array[last], array[i] = array[i], array[last]
     47     # Sort the partitions
---> 48     sort(array, first, i-1)
     49     sort(array, i+1, last)
     50     return array

/Users/omareid/Desktop/playground/datastructs/sorting/quick.pyc in sort(array, first, last)
     46     array[last], array[i] = array[i], array[last]
     47     # Sort the partitions
---> 48     sort(array, first, i-1)
     49     sort(array, i+1, last)
     50     return array

/Users/omareid/Desktop/playground/datastructs/sorting/quick.pyc in sort(array, first, last)
     46     array[last], array[i] = array[i], array[last]
     47     # Sort the partitions
---> 48     sort(array, first, i-1)
     49     sort(array, i+1, last)
     50     return array

/Users/omareid/Desktop/playground/datastructs/sorting/quick.pyc in sort(array, first, last)
     46     array[last], array[i] = array[i], array[last]
     47     # Sort the partitions
---> 48     sort(array, first, i-1)
     49     sort(array, i+1, last)
     50     return array

/Users/omareid/Desktop/playground/datastructs/sorting/quick.pyc in sort(array, first, last)
     46     array[last], array[i] = array[i], array[last]
     47     # Sort the partitions
---> 48     sort(array, first, i-1)
     49     sort(array, i+1, last)
     50     return array

/Users/omareid/Desktop/playground/datastructs/sorting/quick.pyc in sort(array, first, last)
     46     array[last], array[i] = array[i], array[last]
     47     # Sort the partitions
---> 48     sort(array, first, i-1)
     49     sort(array, i+1, last)
     50     return array

/Users/omareid/Desktop/playground/datastructs/sorting/quick.pyc in sort(array, first, last)
     46     array[last], array[i] = array[i], array[last]
     47     # Sort the partitions
---> 48     sort(array, first, i-1)
     49     sort(array, i+1, last)
     50     return array

/Users/omareid/Desktop/playground/datastructs/sorting/quick.pyc in sort(array, first, last)
     46     array[last], array[i] = array[i], array[last]
     47     # Sort the partitions
---> 48     sort(array, first, i-1)
     49     sort(array, i+1, last)
     50     return array

/Users/omareid/Desktop/playground/datastructs/sorting/quick.pyc in sort(array, first, last)
     46     array[last], array[i] = array[i], array[last]
     47     # Sort the partitions
---> 48     sort(array, first, i-1)
     49     sort(array, i+1, last)
     50     return array

/Users/omareid/Desktop/playground/datastructs/sorting/quick.pyc in sort(array, first, last)
     46     array[last], array[i] = array[i], array[last]
     47     # Sort the partitions
---> 48     sort(array, first, i-1)
     49     sort(array, i+1, last)
     50     return array

/Users/omareid/Desktop/playground/datastructs/sorting/quick.pyc in sort(array, first, last)
     46     array[last], array[i] = array[i], array[last]
     47     # Sort the partitions
---> 48     sort(array, first, i-1)
     49     sort(array, i+1, last)
     50     return array

/Users/omareid/Desktop/playground/datastructs/sorting/quick.pyc in sort(array, first, last)
     46     array[last], array[i] = array[i], array[last]
     47     # Sort the partitions
---> 48     sort(array, first, i-1)
     49     sort(array, i+1, last)
     50     return array

/Users/omareid/Desktop/playground/datastructs/sorting/quick.pyc in sort(array, first, last)
     46     array[last], array[i] = array[i], array[last]
     47     # Sort the partitions
---> 48     sort(array, first, i-1)
     49     sort(array, i+1, last)
     50     return array

/Users/omareid/Desktop/playground/datastructs/sorting/quick.pyc in sort(array, first, last)
     46     array[last], array[i] = array[i], array[last]
     47     # Sort the partitions
---> 48     sort(array, first, i-1)
     49     sort(array, i+1, last)
     50     return array

/Users/omareid/Desktop/playground/datastructs/sorting/quick.pyc in sort(array, first, last)
     46     array[last], array[i] = array[i], array[last]
     47     # Sort the partitions
---> 48     sort(array, first, i-1)
     49     sort(array, i+1, last)
     50     return array

/Users/omareid/Desktop/playground/datastructs/sorting/quick.pyc in sort(array, first, last)
     46     array[last], array[i] = array[i], array[last]
     47     # Sort the partitions
---> 48     sort(array, first, i-1)
     49     sort(array, i+1, last)
     50     return array

/Users/omareid/Desktop/playground/datastructs/sorting/quick.pyc in sort(array, first, last)
     46     array[last], array[i] = array[i], array[last]
     47     # Sort the partitions
---> 48     sort(array, first, i-1)
     49     sort(array, i+1, last)
     50     return array

/Users/omareid/Desktop/playground/datastructs/sorting/quick.pyc in sort(array, first, last)
     46     array[last], array[i] = array[i], array[last]
     47     # Sort the partitions
---> 48     sort(array, first, i-1)
     49     sort(array, i+1, last)
     50     return array

/Users/omareid/Desktop/playground/datastructs/sorting/quick.pyc in sort(array, first, last)
     46     array[last], array[i] = array[i], array[last]
     47     # Sort the partitions
---> 48     sort(array, first, i-1)
     49     sort(array, i+1, last)
     50     return array

/Users/omareid/Desktop/playground/datastructs/sorting/quick.pyc in sort(array, first, last)
     46     array[last], array[i] = array[i], array[last]
     47     # Sort the partitions
---> 48     sort(array, first, i-1)
     49     sort(array, i+1, last)
     50     return array

/Users/omareid/Desktop/playground/datastructs/sorting/quick.pyc in sort(array, first, last)
     46     array[last], array[i] = array[i], array[last]
     47     # Sort the partitions
---> 48     sort(array, first, i-1)
     49     sort(array, i+1, last)
     50     return array

/Users/omareid/Desktop/playground/datastructs/sorting/quick.pyc in sort(array, first, last)
     46     array[last], array[i] = array[i], array[last]
     47     # Sort the partitions
---> 48     sort(array, first, i-1)
     49     sort(array, i+1, last)
     50     return array

/Users/omareid/Desktop/playground/datastructs/sorting/quick.pyc in sort(array, first, last)
     46     array[last], array[i] = array[i], array[last]
     47     # Sort the partitions
---> 48     sort(array, first, i-1)
     49     sort(array, i+1, last)
     50     return array

/Users/omareid/Desktop/playground/datastructs/sorting/quick.pyc in sort(array, first, last)
     46     array[last], array[i] = array[i], array[last]
     47     # Sort the partitions
---> 48     sort(array, first, i-1)
     49     sort(array, i+1, last)
     50     return array

/Users/omareid/Desktop/playground/datastructs/sorting/quick.pyc in sort(array, first, last)
     46     array[last], array[i] = array[i], array[last]
     47     # Sort the partitions
---> 48     sort(array, first, i-1)
     49     sort(array, i+1, last)
     50     return array

/Users/omareid/Desktop/playground/datastructs/sorting/quick.pyc in sort(array, first, last)
     46     array[last], array[i] = array[i], array[last]
     47     # Sort the partitions
---> 48     sort(array, first, i-1)
     49     sort(array, i+1, last)
     50     return array

/Users/omareid/Desktop/playground/datastructs/sorting/quick.pyc in sort(array, first, last)
     46     array[last], array[i] = array[i], array[last]
     47     # Sort the partitions
---> 48     sort(array, first, i-1)
     49     sort(array, i+1, last)
     50     return array

/Users/omareid/Desktop/playground/datastructs/sorting/quick.pyc in sort(array, first, last)
     46     array[last], array[i] = array[i], array[last]
     47     # Sort the partitions
---> 48     sort(array, first, i-1)
     49     sort(array, i+1, last)
     50     return array

/Users/omareid/Desktop/playground/datastructs/sorting/quick.pyc in sort(array, first, last)
     46     array[last], array[i] = array[i], array[last]
     47     # Sort the partitions
---> 48     sort(array, first, i-1)
     49     sort(array, i+1, last)
     50     return array

/Users/omareid/Desktop/playground/datastructs/sorting/quick.pyc in sort(array, first, last)
     46     array[last], array[i] = array[i], array[last]
     47     # Sort the partitions
---> 48     sort(array, first, i-1)
     49     sort(array, i+1, last)
     50     return array

/Users/omareid/Desktop/playground/datastructs/sorting/quick.pyc in sort(array, first, last)
     46     array[last], array[i] = array[i], array[last]
     47     # Sort the partitions
---> 48     sort(array, first, i-1)
     49     sort(array, i+1, last)
     50     return array

/Users/omareid/Desktop/playground/datastructs/sorting/quick.pyc in sort(array, first, last)
     46     array[last], array[i] = array[i], array[last]
     47     # Sort the partitions
---> 48     sort(array, first, i-1)
     49     sort(array, i+1, last)
     50     return array

/Users/omareid/Desktop/playground/datastructs/sorting/quick.pyc in sort(array, first, last)
     46     array[last], array[i] = array[i], array[last]
     47     # Sort the partitions
---> 48     sort(array, first, i-1)
     49     sort(array, i+1, last)
     50     return array

/Users/omareid/Desktop/playground/datastructs/sorting/quick.pyc in sort(array, first, last)
     46     array[last], array[i] = array[i], array[last]
     47     # Sort the partitions
---> 48     sort(array, first, i-1)
     49     sort(array, i+1, last)
     50     return array

/Users/omareid/Desktop/playground/datastructs/sorting/quick.pyc in sort(array, first, last)
     46     array[last], array[i] = array[i], array[last]
     47     # Sort the partitions
---> 48     sort(array, first, i-1)
     49     sort(array, i+1, last)
     50     return array

/Users/omareid/Desktop/playground/datastructs/sorting/quick.pyc in sort(array, first, last)
     46     array[last], array[i] = array[i], array[last]
     47     # Sort the partitions
---> 48     sort(array, first, i-1)
     49     sort(array, i+1, last)
     50     return array

/Users/omareid/Desktop/playground/datastructs/sorting/quick.pyc in sort(array, first, last)
     46     array[last], array[i] = array[i], array[last]
     47     # Sort the partitions
---> 48     sort(array, first, i-1)
     49     sort(array, i+1, last)
     50     return array

/Users/omareid/Desktop/playground/datastructs/sorting/quick.pyc in sort(array, first, last)
     46     array[last], array[i] = array[i], array[last]
     47     # Sort the partitions
---> 48     sort(array, first, i-1)
     49     sort(array, i+1, last)
     50     return array

/Users/omareid/Desktop/playground/datastructs/sorting/quick.pyc in sort(array, first, last)
     46     array[last], array[i] = array[i], array[last]
     47     # Sort the partitions
---> 48     sort(array, first, i-1)
     49     sort(array, i+1, last)
     50     return array

/Users/omareid/Desktop/playground/datastructs/sorting/quick.pyc in sort(array, first, last)
     46     array[last], array[i] = array[i], array[last]
     47     # Sort the partitions
---> 48     sort(array, first, i-1)
     49     sort(array, i+1, last)
     50     return array

/Users/omareid/Desktop/playground/datastructs/sorting/quick.pyc in sort(array, first, last)
     46     array[last], array[i] = array[i], array[last]
     47     # Sort the partitions
---> 48     sort(array, first, i-1)
     49     sort(array, i+1, last)
     50     return array

/Users/omareid/Desktop/playground/datastructs/sorting/quick.pyc in sort(array, first, last)
     46     array[last], array[i] = array[i], array[last]
     47     # Sort the partitions
---> 48     sort(array, first, i-1)
     49     sort(array, i+1, last)
     50     return array

/Users/omareid/Desktop/playground/datastructs/sorting/quick.pyc in sort(array, first, last)
     46     array[last], array[i] = array[i], array[last]
     47     # Sort the partitions
---> 48     sort(array, first, i-1)
     49     sort(array, i+1, last)
     50     return array

/Users/omareid/Desktop/playground/datastructs/sorting/quick.pyc in sort(array, first, last)
     46     array[last], array[i] = array[i], array[last]
     47     # Sort the partitions
---> 48     sort(array, first, i-1)
     49     sort(array, i+1, last)
     50     return array

/Users/omareid/Desktop/playground/datastructs/sorting/quick.pyc in sort(array, first, last)
     46     array[last], array[i] = array[i], array[last]
     47     # Sort the partitions
---> 48     sort(array, first, i-1)
     49     sort(array, i+1, last)
     50     return array

/Users/omareid/Desktop/playground/datastructs/sorting/quick.pyc in sort(array, first, last)
     46     array[last], array[i] = array[i], array[last]
     47     # Sort the partitions
---> 48     sort(array, first, i-1)
     49     sort(array, i+1, last)
     50     return array

/Users/omareid/Desktop/playground/datastructs/sorting/quick.pyc in sort(array, first, last)
     46     array[last], array[i] = array[i], array[last]
     47     # Sort the partitions
---> 48     sort(array, first, i-1)
     49     sort(array, i+1, last)
     50     return array

/Users/omareid/Desktop/playground/datastructs/sorting/quick.pyc in sort(array, first, last)
     46     array[last], array[i] = array[i], array[last]
     47     # Sort the partitions
---> 48     sort(array, first, i-1)
     49     sort(array, i+1, last)
     50     return array

/Users/omareid/Desktop/playground/datastructs/sorting/quick.pyc in sort(array, first, last)
     46     array[last], array[i] = array[i], array[last]
     47     # Sort the partitions
---> 48     sort(array, first, i-1)
     49     sort(array, i+1, last)
     50     return array

/Users/omareid/Desktop/playground/datastructs/sorting/quick.pyc in sort(array, first, last)
     46     array[last], array[i] = array[i], array[last]
     47     # Sort the partitions
---> 48     sort(array, first, i-1)
     49     sort(array, i+1, last)
     50     return array

/Users/omareid/Desktop/playground/datastructs/sorting/quick.pyc in sort(array, first, last)
     46     array[last], array[i] = array[i], array[last]
     47     # Sort the partitions
---> 48     sort(array, first, i-1)
     49     sort(array, i+1, last)
     50     return array

/Users/omareid/Desktop/playground/datastructs/sorting/quick.pyc in sort(array, first, last)
     46     array[last], array[i] = array[i], array[last]
     47     # Sort the partitions
---> 48     sort(array, first, i-1)
     49     sort(array, i+1, last)
     50     return array

/Users/omareid/Desktop/playground/datastructs/sorting/quick.pyc in sort(array, first, last)
     46     array[last], array[i] = array[i], array[last]
     47     # Sort the partitions
---> 48     sort(array, first, i-1)
     49     sort(array, i+1, last)
     50     return array

/Users/omareid/Desktop/playground/datastructs/sorting/quick.pyc in sort(array, first, last)
     46     array[last], array[i] = array[i], array[last]
     47     # Sort the partitions
---> 48     sort(array, first, i-1)
     49     sort(array, i+1, last)
     50     return array

/Users/omareid/Desktop/playground/datastructs/sorting/quick.pyc in sort(array, first, last)
     46     array[last], array[i] = array[i], array[last]
     47     # Sort the partitions
---> 48     sort(array, first, i-1)
     49     sort(array, i+1, last)
     50     return array

/Users/omareid/Desktop/playground/datastructs/sorting/quick.pyc in sort(array, first, last)
     46     array[last], array[i] = array[i], array[last]
     47     # Sort the partitions
---> 48     sort(array, first, i-1)
     49     sort(array, i+1, last)
     50     return array

/Users/omareid/Desktop/playground/datastructs/sorting/quick.pyc in sort(array, first, last)
     46     array[last], array[i] = array[i], array[last]
     47     # Sort the partitions
---> 48     sort(array, first, i-1)
     49     sort(array, i+1, last)
     50     return array

/Users/omareid/Desktop/playground/datastructs/sorting/quick.pyc in sort(array, first, last)
     46     array[last], array[i] = array[i], array[last]
     47     # Sort the partitions
---> 48     sort(array, first, i-1)
     49     sort(array, i+1, last)
     50     return array

/Users/omareid/Desktop/playground/datastructs/sorting/quick.pyc in sort(array, first, last)
     46     array[last], array[i] = array[i], array[last]
     47     # Sort the partitions
---> 48     sort(array, first, i-1)
     49     sort(array, i+1, last)
     50     return array

/Users/omareid/Desktop/playground/datastructs/sorting/quick.pyc in sort(array, first, last)
     46     array[last], array[i] = array[i], array[last]
     47     # Sort the partitions
---> 48     sort(array, first, i-1)
     49     sort(array, i+1, last)
     50     return array

/Users/omareid/Desktop/playground/datastructs/sorting/quick.pyc in sort(array, first, last)
     46     array[last], array[i] = array[i], array[last]
     47     # Sort the partitions
---> 48     sort(array, first, i-1)
     49     sort(array, i+1, last)
     50     return array

/Users/omareid/Desktop/playground/datastructs/sorting/quick.pyc in sort(array, first, last)
     46     array[last], array[i] = array[i], array[last]
     47     # Sort the partitions
---> 48     sort(array, first, i-1)
     49     sort(array, i+1, last)
     50     return array

/Users/omareid/Desktop/playground/datastructs/sorting/quick.pyc in sort(array, first, last)
     46     array[last], array[i] = array[i], array[last]
     47     # Sort the partitions
---> 48     sort(array, first, i-1)
     49     sort(array, i+1, last)
     50     return array

/Users/omareid/Desktop/playground/datastructs/sorting/quick.pyc in sort(array, first, last)
     46     array[last], array[i] = array[i], array[last]
     47     # Sort the partitions
---> 48     sort(array, first, i-1)
     49     sort(array, i+1, last)
     50     return array

/Users/omareid/Desktop/playground/datastructs/sorting/quick.pyc in sort(array, first, last)
     46     array[last], array[i] = array[i], array[last]
     47     # Sort the partitions
---> 48     sort(array, first, i-1)
     49     sort(array, i+1, last)
     50     return array

/Users/omareid/Desktop/playground/datastructs/sorting/quick.pyc in sort(array, first, last)
     46     array[last], array[i] = array[i], array[last]
     47     # Sort the partitions
---> 48     sort(array, first, i-1)
     49     sort(array, i+1, last)
     50     return array

/Users/omareid/Desktop/playground/datastructs/sorting/quick.pyc in sort(array, first, last)
     46     array[last], array[i] = array[i], array[last]
     47     # Sort the partitions
---> 48     sort(array, first, i-1)
     49     sort(array, i+1, last)
     50     return array

/Users/omareid/Desktop/playground/datastructs/sorting/quick.pyc in sort(array, first, last)
     46     array[last], array[i] = array[i], array[last]
     47     # Sort the partitions
---> 48     sort(array, first, i-1)
     49     sort(array, i+1, last)
     50     return array

/Users/omareid/Desktop/playground/datastructs/sorting/quick.pyc in sort(array, first, last)
     46     array[last], array[i] = array[i], array[last]
     47     # Sort the partitions
---> 48     sort(array, first, i-1)
     49     sort(array, i+1, last)
     50     return array

/Users/omareid/Desktop/playground/datastructs/sorting/quick.pyc in sort(array, first, last)
     46     array[last], array[i] = array[i], array[last]
     47     # Sort the partitions
---> 48     sort(array, first, i-1)
     49     sort(array, i+1, last)
     50     return array

/Users/omareid/Desktop/playground/datastructs/sorting/quick.pyc in sort(array, first, last)
     46     array[last], array[i] = array[i], array[last]
     47     # Sort the partitions
---> 48     sort(array, first, i-1)
     49     sort(array, i+1, last)
     50     return array

/Users/omareid/Desktop/playground/datastructs/sorting/quick.pyc in sort(array, first, last)
     46     array[last], array[i] = array[i], array[last]
     47     # Sort the partitions
---> 48     sort(array, first, i-1)
     49     sort(array, i+1, last)
     50     return array

/Users/omareid/Desktop/playground/datastructs/sorting/quick.pyc in sort(array, first, last)
     46     array[last], array[i] = array[i], array[last]
     47     # Sort the partitions
---> 48     sort(array, first, i-1)
     49     sort(array, i+1, last)
     50     return array

/Users/omareid/Desktop/playground/datastructs/sorting/quick.pyc in sort(array, first, last)
     46     array[last], array[i] = array[i], array[last]
     47     # Sort the partitions
---> 48     sort(array, first, i-1)
     49     sort(array, i+1, last)
     50     return array

/Users/omareid/Desktop/playground/datastructs/sorting/quick.pyc in sort(array, first, last)
     46     array[last], array[i] = array[i], array[last]
     47     # Sort the partitions
---> 48     sort(array, first, i-1)
     49     sort(array, i+1, last)
     50     return array

/Users/omareid/Desktop/playground/datastructs/sorting/quick.pyc in sort(array, first, last)
     46     array[last], array[i] = array[i], array[last]
     47     # Sort the partitions
---> 48     sort(array, first, i-1)
     49     sort(array, i+1, last)
     50     return array

/Users/omareid/Desktop/playground/datastructs/sorting/quick.pyc in sort(array, first, last)
     46     array[last], array[i] = array[i], array[last]
     47     # Sort the partitions
---> 48     sort(array, first, i-1)
     49     sort(array, i+1, last)
     50     return array

/Users/omareid/Desktop/playground/datastructs/sorting/quick.pyc in sort(array, first, last)
     46     array[last], array[i] = array[i], array[last]
     47     # Sort the partitions
---> 48     sort(array, first, i-1)
     49     sort(array, i+1, last)
     50     return array

/Users/omareid/Desktop/playground/datastructs/sorting/quick.pyc in sort(array, first, last)
     46     array[last], array[i] = array[i], array[last]
     47     # Sort the partitions
---> 48     sort(array, first, i-1)
     49     sort(array, i+1, last)
     50     return array

/Users/omareid/Desktop/playground/datastructs/sorting/quick.pyc in sort(array, first, last)
     46     array[last], array[i] = array[i], array[last]
     47     # Sort the partitions
---> 48     sort(array, first, i-1)
     49     sort(array, i+1, last)
     50     return array

/Users/omareid/Desktop/playground/datastructs/sorting/quick.pyc in sort(array, first, last)
     46     array[last], array[i] = array[i], array[last]
     47     # Sort the partitions
---> 48     sort(array, first, i-1)
     49     sort(array, i+1, last)
     50     return array

/Users/omareid/Desktop/playground/datastructs/sorting/quick.pyc in sort(array, first, last)
     46     array[last], array[i] = array[i], array[last]
     47     # Sort the partitions
---> 48     sort(array, first, i-1)
     49     sort(array, i+1, last)
     50     return array

/Users/omareid/Desktop/playground/datastructs/sorting/quick.pyc in sort(array, first, last)
     46     array[last], array[i] = array[i], array[last]
     47     # Sort the partitions
---> 48     sort(array, first, i-1)
     49     sort(array, i+1, last)
     50     return array

/Users/omareid/Desktop/playground/datastructs/sorting/quick.pyc in sort(array, first, last)
     46     array[last], array[i] = array[i], array[last]
     47     # Sort the partitions
---> 48     sort(array, first, i-1)
     49     sort(array, i+1, last)
     50     return array

/Users/omareid/Desktop/playground/datastructs/sorting/quick.pyc in sort(array, first, last)
     46     array[last], array[i] = array[i], array[last]
     47     # Sort the partitions
---> 48     sort(array, first, i-1)
     49     sort(array, i+1, last)
     50     return array

/Users/omareid/Desktop/playground/datastructs/sorting/quick.pyc in sort(array, first, last)
     46     array[last], array[i] = array[i], array[last]
     47     # Sort the partitions
---> 48     sort(array, first, i-1)
     49     sort(array, i+1, last)
     50     return array

/Users/omareid/Desktop/playground/datastructs/sorting/quick.pyc in sort(array, first, last)
     46     array[last], array[i] = array[i], array[last]
     47     # Sort the partitions
---> 48     sort(array, first, i-1)
     49     sort(array, i+1, last)
     50     return array

/Users/omareid/Desktop/playground/datastructs/sorting/quick.pyc in sort(array, first, last)
     46     array[last], array[i] = array[i], array[last]
     47     # Sort the partitions
---> 48     sort(array, first, i-1)
     49     sort(array, i+1, last)
     50     return array

/Users/omareid/Desktop/playground/datastructs/sorting/quick.pyc in sort(array, first, last)
     46     array[last], array[i] = array[i], array[last]
     47     # Sort the partitions
---> 48     sort(array, first, i-1)
     49     sort(array, i+1, last)
     50     return array

/Users/omareid/Desktop/playground/datastructs/sorting/quick.pyc in sort(array, first, last)
     46     array[last], array[i] = array[i], array[last]
     47     # Sort the partitions
---> 48     sort(array, first, i-1)
     49     sort(array, i+1, last)
     50     return array

/Users/omareid/Desktop/playground/datastructs/sorting/quick.pyc in sort(array, first, last)
     46     array[last], array[i] = array[i], array[last]
     47     # Sort the partitions
---> 48     sort(array, first, i-1)
     49     sort(array, i+1, last)
     50     return array

/Users/omareid/Desktop/playground/datastructs/sorting/quick.pyc in sort(array, first, last)
     46     array[last], array[i] = array[i], array[last]
     47     # Sort the partitions
---> 48     sort(array, first, i-1)
     49     sort(array, i+1, last)
     50     return array

/Users/omareid/Desktop/playground/datastructs/sorting/quick.pyc in sort(array, first, last)
     46     array[last], array[i] = array[i], array[last]
     47     # Sort the partitions
---> 48     sort(array, first, i-1)
     49     sort(array, i+1, last)
     50     return array

/Users/omareid/Desktop/playground/datastructs/sorting/quick.pyc in sort(array, first, last)
     46     array[last], array[i] = array[i], array[last]
     47     # Sort the partitions
---> 48     sort(array, first, i-1)
     49     sort(array, i+1, last)
     50     return array

/Users/omareid/Desktop/playground/datastructs/sorting/quick.pyc in sort(array, first, last)
     46     array[last], array[i] = array[i], array[last]
     47     # Sort the partitions
---> 48     sort(array, first, i-1)
     49     sort(array, i+1, last)
     50     return array

/Users/omareid/Desktop/playground/datastructs/sorting/quick.pyc in sort(array, first, last)
     46     array[last], array[i] = array[i], array[last]
     47     # Sort the partitions
---> 48     sort(array, first, i-1)
     49     sort(array, i+1, last)
     50     return array

/Users/omareid/Desktop/playground/datastructs/sorting/quick.pyc in sort(array, first, last)
     46     array[last], array[i] = array[i], array[last]
     47     # Sort the partitions
---> 48     sort(array, first, i-1)
     49     sort(array, i+1, last)
     50     return array

/Users/omareid/Desktop/playground/datastructs/sorting/quick.pyc in sort(array, first, last)
     46     array[last], array[i] = array[i], array[last]
     47     # Sort the partitions
---> 48     sort(array, first, i-1)
     49     sort(array, i+1, last)
     50     return array

/Users/omareid/Desktop/playground/datastructs/sorting/quick.pyc in sort(array, first, last)
     46     array[last], array[i] = array[i], array[last]
     47     # Sort the partitions
---> 48     sort(array, first, i-1)
     49     sort(array, i+1, last)
     50     return array

/Users/omareid/Desktop/playground/datastructs/sorting/quick.pyc in sort(array, first, last)
     46     array[last], array[i] = array[i], array[last]
     47     # Sort the partitions
---> 48     sort(array, first, i-1)
     49     sort(array, i+1, last)
     50     return array

/Users/omareid/Desktop/playground/datastructs/sorting/quick.pyc in sort(array, first, last)
     46     array[last], array[i] = array[i], array[last]
     47     # Sort the partitions
---> 48     sort(array, first, i-1)
     49     sort(array, i+1, last)
     50     return array

/Users/omareid/Desktop/playground/datastructs/sorting/quick.pyc in sort(array, first, last)
     46     array[last], array[i] = array[i], array[last]
     47     # Sort the partitions
---> 48     sort(array, first, i-1)
     49     sort(array, i+1, last)
     50     return array

/Users/omareid/Desktop/playground/datastructs/sorting/quick.pyc in sort(array, first, last)
     46     array[last], array[i] = array[i], array[last]
     47     # Sort the partitions
---> 48     sort(array, first, i-1)
     49     sort(array, i+1, last)
     50     return array

/Users/omareid/Desktop/playground/datastructs/sorting/quick.pyc in sort(array, first, last)
     46     array[last], array[i] = array[i], array[last]
     47     # Sort the partitions
---> 48     sort(array, first, i-1)
     49     sort(array, i+1, last)
     50     return array

/Users/omareid/Desktop/playground/datastructs/sorting/quick.pyc in sort(array, first, last)
     46     array[last], array[i] = array[i], array[last]
     47     # Sort the partitions
---> 48     sort(array, first, i-1)
     49     sort(array, i+1, last)
     50     return array

/Users/omareid/Desktop/playground/datastructs/sorting/quick.pyc in sort(array, first, last)
     46     array[last], array[i] = array[i], array[last]
     47     # Sort the partitions
---> 48     sort(array, first, i-1)
     49     sort(array, i+1, last)
     50     return array

/Users/omareid/Desktop/playground/datastructs/sorting/quick.pyc in sort(array, first, last)
     46     array[last], array[i] = array[i], array[last]
     47     # Sort the partitions
---> 48     sort(array, first, i-1)
     49     sort(array, i+1, last)
     50     return array

/Users/omareid/Desktop/playground/datastructs/sorting/quick.pyc in sort(array, first, last)
     46     array[last], array[i] = array[i], array[last]
     47     # Sort the partitions
---> 48     sort(array, first, i-1)
     49     sort(array, i+1, last)
     50     return array

/Users/omareid/Desktop/playground/datastructs/sorting/quick.pyc in sort(array, first, last)
     46     array[last], array[i] = array[i], array[last]
     47     # Sort the partitions
---> 48     sort(array, first, i-1)
     49     sort(array, i+1, last)
     50     return array

/Users/omareid/Desktop/playground/datastructs/sorting/quick.pyc in sort(array, first, last)
     46     array[last], array[i] = array[i], array[last]
     47     # Sort the partitions
---> 48     sort(array, first, i-1)
     49     sort(array, i+1, last)
     50     return array

/Users/omareid/Desktop/playground/datastructs/sorting/quick.pyc in sort(array, first, last)
     46     array[last], array[i] = array[i], array[last]
     47     # Sort the partitions
---> 48     sort(array, first, i-1)
     49     sort(array, i+1, last)
     50     return array

/Users/omareid/Desktop/playground/datastructs/sorting/quick.pyc in sort(array, first, last)
     46     array[last], array[i] = array[i], array[last]
     47     # Sort the partitions
---> 48     sort(array, first, i-1)
     49     sort(array, i+1, last)
     50     return array

/Users/omareid/Desktop/playground/datastructs/sorting/quick.pyc in sort(array, first, last)
     46     array[last], array[i] = array[i], array[last]
     47     # Sort the partitions
---> 48     sort(array, first, i-1)
     49     sort(array, i+1, last)
     50     return array

/Users/omareid/Desktop/playground/datastructs/sorting/quick.pyc in sort(array, first, last)
     46     array[last], array[i] = array[i], array[last]
     47     # Sort the partitions
---> 48     sort(array, first, i-1)
     49     sort(array, i+1, last)
     50     return array

/Users/omareid/Desktop/playground/datastructs/sorting/quick.pyc in sort(array, first, last)
     46     array[last], array[i] = array[i], array[last]
     47     # Sort the partitions
---> 48     sort(array, first, i-1)
     49     sort(array, i+1, last)
     50     return array

/Users/omareid/Desktop/playground/datastructs/sorting/quick.pyc in sort(array, first, last)
     46     array[last], array[i] = array[i], array[last]
     47     # Sort the partitions
---> 48     sort(array, first, i-1)
     49     sort(array, i+1, last)
     50     return array

/Users/omareid/Desktop/playground/datastructs/sorting/quick.pyc in sort(array, first, last)
     46     array[last], array[i] = array[i], array[last]
     47     # Sort the partitions
---> 48     sort(array, first, i-1)
     49     sort(array, i+1, last)
     50     return array

/Users/omareid/Desktop/playground/datastructs/sorting/quick.pyc in sort(array, first, last)
     46     array[last], array[i] = array[i], array[last]
     47     # Sort the partitions
---> 48     sort(array, first, i-1)
     49     sort(array, i+1, last)
     50     return array

/Users/omareid/Desktop/playground/datastructs/sorting/quick.pyc in sort(array, first, last)
     46     array[last], array[i] = array[i], array[last]
     47     # Sort the partitions
---> 48     sort(array, first, i-1)
     49     sort(array, i+1, last)
     50     return array

/Users/omareid/Desktop/playground/datastructs/sorting/quick.pyc in sort(array, first, last)
     46     array[last], array[i] = array[i], array[last]
     47     # Sort the partitions
---> 48     sort(array, first, i-1)
     49     sort(array, i+1, last)
     50     return array

/Users/omareid/Desktop/playground/datastructs/sorting/quick.pyc in sort(array, first, last)
     46     array[last], array[i] = array[i], array[last]
     47     # Sort the partitions
---> 48     sort(array, first, i-1)
     49     sort(array, i+1, last)
     50     return array

/Users/omareid/Desktop/playground/datastructs/sorting/quick.pyc in sort(array, first, last)
     46     array[last], array[i] = array[i], array[last]
     47     # Sort the partitions
---> 48     sort(array, first, i-1)
     49     sort(array, i+1, last)
     50     return array

/Users/omareid/Desktop/playground/datastructs/sorting/quick.pyc in sort(array, first, last)
     46     array[last], array[i] = array[i], array[last]
     47     # Sort the partitions
---> 48     sort(array, first, i-1)
     49     sort(array, i+1, last)
     50     return array

/Users/omareid/Desktop/playground/datastructs/sorting/quick.pyc in sort(array, first, last)
     46     array[last], array[i] = array[i], array[last]
     47     # Sort the partitions
---> 48     sort(array, first, i-1)
     49     sort(array, i+1, last)
     50     return array

/Users/omareid/Desktop/playground/datastructs/sorting/quick.pyc in sort(array, first, last)
     46     array[last], array[i] = array[i], array[last]
     47     # Sort the partitions
---> 48     sort(array, first, i-1)
     49     sort(array, i+1, last)
     50     return array

/Users/omareid/Desktop/playground/datastructs/sorting/quick.pyc in sort(array, first, last)
     46     array[last], array[i] = array[i], array[last]
     47     # Sort the partitions
---> 48     sort(array, first, i-1)
     49     sort(array, i+1, last)
     50     return array

/Users/omareid/Desktop/playground/datastructs/sorting/quick.pyc in sort(array, first, last)
     46     array[last], array[i] = array[i], array[last]
     47     # Sort the partitions
---> 48     sort(array, first, i-1)
     49     sort(array, i+1, last)
     50     return array

/Users/omareid/Desktop/playground/datastructs/sorting/quick.pyc in sort(array, first, last)
     46     array[last], array[i] = array[i], array[last]
     47     # Sort the partitions
---> 48     sort(array, first, i-1)
     49     sort(array, i+1, last)
     50     return array

/Users/omareid/Desktop/playground/datastructs/sorting/quick.pyc in sort(array, first, last)
     46     array[last], array[i] = array[i], array[last]
     47     # Sort the partitions
---> 48     sort(array, first, i-1)
     49     sort(array, i+1, last)
     50     return array

/Users/omareid/Desktop/playground/datastructs/sorting/quick.pyc in sort(array, first, last)
     46     array[last], array[i] = array[i], array[last]
     47     # Sort the partitions
---> 48     sort(array, first, i-1)
     49     sort(array, i+1, last)
     50     return array

/Users/omareid/Desktop/playground/datastructs/sorting/quick.pyc in sort(array, first, last)
     46     array[last], array[i] = array[i], array[last]
     47     # Sort the partitions
---> 48     sort(array, first, i-1)
     49     sort(array, i+1, last)
     50     return array

/Users/omareid/Desktop/playground/datastructs/sorting/quick.pyc in sort(array, first, last)
     46     array[last], array[i] = array[i], array[last]
     47     # Sort the partitions
---> 48     sort(array, first, i-1)
     49     sort(array, i+1, last)
     50     return array

/Users/omareid/Desktop/playground/datastructs/sorting/quick.pyc in sort(array, first, last)
     46     array[last], array[i] = array[i], array[last]
     47     # Sort the partitions
---> 48     sort(array, first, i-1)
     49     sort(array, i+1, last)
     50     return array

/Users/omareid/Desktop/playground/datastructs/sorting/quick.pyc in sort(array, first, last)
     46     array[last], array[i] = array[i], array[last]
     47     # Sort the partitions
---> 48     sort(array, first, i-1)
     49     sort(array, i+1, last)
     50     return array

/Users/omareid/Desktop/playground/datastructs/sorting/quick.pyc in sort(array, first, last)
     46     array[last], array[i] = array[i], array[last]
     47     # Sort the partitions
---> 48     sort(array, first, i-1)
     49     sort(array, i+1, last)
     50     return array

/Users/omareid/Desktop/playground/datastructs/sorting/quick.pyc in sort(array, first, last)
     46     array[last], array[i] = array[i], array[last]
     47     # Sort the partitions
---> 48     sort(array, first, i-1)
     49     sort(array, i+1, last)
     50     return array

/Users/omareid/Desktop/playground/datastructs/sorting/quick.pyc in sort(array, first, last)
     46     array[last], array[i] = array[i], array[last]
     47     # Sort the partitions
---> 48     sort(array, first, i-1)
     49     sort(array, i+1, last)
     50     return array

/Users/omareid/Desktop/playground/datastructs/sorting/quick.pyc in sort(array, first, last)
     46     array[last], array[i] = array[i], array[last]
     47     # Sort the partitions
---> 48     sort(array, first, i-1)
     49     sort(array, i+1, last)
     50     return array

/Users/omareid/Desktop/playground/datastructs/sorting/quick.pyc in sort(array, first, last)
     46     array[last], array[i] = array[i], array[last]
     47     # Sort the partitions
---> 48     sort(array, first, i-1)
     49     sort(array, i+1, last)
     50     return array

/Users/omareid/Desktop/playground/datastructs/sorting/quick.pyc in sort(array, first, last)
     46     array[last], array[i] = array[i], array[last]
     47     # Sort the partitions
---> 48     sort(array, first, i-1)
     49     sort(array, i+1, last)
     50     return array

/Users/omareid/Desktop/playground/datastructs/sorting/quick.pyc in sort(array, first, last)
     46     array[last], array[i] = array[i], array[last]
     47     # Sort the partitions
---> 48     sort(array, first, i-1)
     49     sort(array, i+1, last)
     50     return array

/Users/omareid/Desktop/playground/datastructs/sorting/quick.pyc in sort(array, first, last)
     46     array[last], array[i] = array[i], array[last]
     47     # Sort the partitions
---> 48     sort(array, first, i-1)
     49     sort(array, i+1, last)
     50     return array

/Users/omareid/Desktop/playground/datastructs/sorting/quick.pyc in sort(array, first, last)
     46     array[last], array[i] = array[i], array[last]
     47     # Sort the partitions
---> 48     sort(array, first, i-1)
     49     sort(array, i+1, last)
     50     return array

/Users/omareid/Desktop/playground/datastructs/sorting/quick.pyc in sort(array, first, last)
     46     array[last], array[i] = array[i], array[last]
     47     # Sort the partitions
---> 48     sort(array, first, i-1)
     49     sort(array, i+1, last)
     50     return array

/Users/omareid/Desktop/playground/datastructs/sorting/quick.pyc in sort(array, first, last)
     46     array[last], array[i] = array[i], array[last]
     47     # Sort the partitions
---> 48     sort(array, first, i-1)
     49     sort(array, i+1, last)
     50     return array

/Users/omareid/Desktop/playground/datastructs/sorting/quick.pyc in sort(array, first, last)
     46     array[last], array[i] = array[i], array[last]
     47     # Sort the partitions
---> 48     sort(array, first, i-1)
     49     sort(array, i+1, last)
     50     return array

/Users/omareid/Desktop/playground/datastructs/sorting/quick.pyc in sort(array, first, last)
     46     array[last], array[i] = array[i], array[last]
     47     # Sort the partitions
---> 48     sort(array, first, i-1)
     49     sort(array, i+1, last)
     50     return array

/Users/omareid/Desktop/playground/datastructs/sorting/quick.pyc in sort(array, first, last)
     46     array[last], array[i] = array[i], array[last]
     47     # Sort the partitions
---> 48     sort(array, first, i-1)
     49     sort(array, i+1, last)
     50     return array

/Users/omareid/Desktop/playground/datastructs/sorting/quick.pyc in sort(array, first, last)
     46     array[last], array[i] = array[i], array[last]
     47     # Sort the partitions
---> 48     sort(array, first, i-1)
     49     sort(array, i+1, last)
     50     return array

/Users/omareid/Desktop/playground/datastructs/sorting/quick.pyc in sort(array, first, last)
     46     array[last], array[i] = array[i], array[last]
     47     # Sort the partitions
---> 48     sort(array, first, i-1)
     49     sort(array, i+1, last)
     50     return array

/Users/omareid/Desktop/playground/datastructs/sorting/quick.pyc in sort(array, first, last)
     46     array[last], array[i] = array[i], array[last]
     47     # Sort the partitions
---> 48     sort(array, first, i-1)
     49     sort(array, i+1, last)
     50     return array

/Users/omareid/Desktop/playground/datastructs/sorting/quick.pyc in sort(array, first, last)
     46     array[last], array[i] = array[i], array[last]
     47     # Sort the partitions
---> 48     sort(array, first, i-1)
     49     sort(array, i+1, last)
     50     return array

/Users/omareid/Desktop/playground/datastructs/sorting/quick.pyc in sort(array, first, last)
     46     array[last], array[i] = array[i], array[last]
     47     # Sort the partitions
---> 48     sort(array, first, i-1)
     49     sort(array, i+1, last)
     50     return array

/Users/omareid/Desktop/playground/datastructs/sorting/quick.pyc in sort(array, first, last)
     46     array[last], array[i] = array[i], array[last]
     47     # Sort the partitions
---> 48     sort(array, first, i-1)
     49     sort(array, i+1, last)
     50     return array

/Users/omareid/Desktop/playground/datastructs/sorting/quick.pyc in sort(array, first, last)
     46     array[last], array[i] = array[i], array[last]
     47     # Sort the partitions
---> 48     sort(array, first, i-1)
     49     sort(array, i+1, last)
     50     return array

/Users/omareid/Desktop/playground/datastructs/sorting/quick.pyc in sort(array, first, last)
     46     array[last], array[i] = array[i], array[last]
     47     # Sort the partitions
---> 48     sort(array, first, i-1)
     49     sort(array, i+1, last)
     50     return array

/Users/omareid/Desktop/playground/datastructs/sorting/quick.pyc in sort(array, first, last)
     46     array[last], array[i] = array[i], array[last]
     47     # Sort the partitions
---> 48     sort(array, first, i-1)
     49     sort(array, i+1, last)
     50     return array

/Users/omareid/Desktop/playground/datastructs/sorting/quick.pyc in sort(array, first, last)
     46     array[last], array[i] = array[i], array[last]
     47     # Sort the partitions
---> 48     sort(array, first, i-1)
     49     sort(array, i+1, last)
     50     return array

/Users/omareid/Desktop/playground/datastructs/sorting/quick.pyc in sort(array, first, last)
     46     array[last], array[i] = array[i], array[last]
     47     # Sort the partitions
---> 48     sort(array, first, i-1)
     49     sort(array, i+1, last)
     50     return array

/Users/omareid/Desktop/playground/datastructs/sorting/quick.pyc in sort(array, first, last)
     46     array[last], array[i] = array[i], array[last]
     47     # Sort the partitions
---> 48     sort(array, first, i-1)
     49     sort(array, i+1, last)
     50     return array

/Users/omareid/Desktop/playground/datastructs/sorting/quick.pyc in sort(array, first, last)
     46     array[last], array[i] = array[i], array[last]
     47     # Sort the partitions
---> 48     sort(array, first, i-1)
     49     sort(array, i+1, last)
     50     return array

/Users/omareid/Desktop/playground/datastructs/sorting/quick.pyc in sort(array, first, last)
     46     array[last], array[i] = array[i], array[last]
     47     # Sort the partitions
---> 48     sort(array, first, i-1)
     49     sort(array, i+1, last)
     50     return array

/Users/omareid/Desktop/playground/datastructs/sorting/quick.pyc in sort(array, first, last)
     46     array[last], array[i] = array[i], array[last]
     47     # Sort the partitions
---> 48     sort(array, first, i-1)
     49     sort(array, i+1, last)
     50     return array

/Users/omareid/Desktop/playground/datastructs/sorting/quick.pyc in sort(array, first, last)
     46     array[last], array[i] = array[i], array[last]
     47     # Sort the partitions
---> 48     sort(array, first, i-1)
     49     sort(array, i+1, last)
     50     return array

/Users/omareid/Desktop/playground/datastructs/sorting/quick.pyc in sort(array, first, last)
     46     array[last], array[i] = array[i], array[last]
     47     # Sort the partitions
---> 48     sort(array, first, i-1)
     49     sort(array, i+1, last)
     50     return array

/Users/omareid/Desktop/playground/datastructs/sorting/quick.pyc in sort(array, first, last)
     46     array[last], array[i] = array[i], array[last]
     47     # Sort the partitions
---> 48     sort(array, first, i-1)
     49     sort(array, i+1, last)
     50     return array

/Users/omareid/Desktop/playground/datastructs/sorting/quick.pyc in sort(array, first, last)
     46     array[last], array[i] = array[i], array[last]
     47     # Sort the partitions
---> 48     sort(array, first, i-1)
     49     sort(array, i+1, last)
     50     return array

/Users/omareid/Desktop/playground/datastructs/sorting/quick.pyc in sort(array, first, last)
     46     array[last], array[i] = array[i], array[last]
     47     # Sort the partitions
---> 48     sort(array, first, i-1)
     49     sort(array, i+1, last)
     50     return array

/Users/omareid/Desktop/playground/datastructs/sorting/quick.pyc in sort(array, first, last)
     46     array[last], array[i] = array[i], array[last]
     47     # Sort the partitions
---> 48     sort(array, first, i-1)
     49     sort(array, i+1, last)
     50     return array

/Users/omareid/Desktop/playground/datastructs/sorting/quick.pyc in sort(array, first, last)
     46     array[last], array[i] = array[i], array[last]
     47     # Sort the partitions
---> 48     sort(array, first, i-1)
     49     sort(array, i+1, last)
     50     return array

/Users/omareid/Desktop/playground/datastructs/sorting/quick.pyc in sort(array, first, last)
     46     array[last], array[i] = array[i], array[last]
     47     # Sort the partitions
---> 48     sort(array, first, i-1)
     49     sort(array, i+1, last)
     50     return array

/Users/omareid/Desktop/playground/datastructs/sorting/quick.pyc in sort(array, first, last)
     46     array[last], array[i] = array[i], array[last]
     47     # Sort the partitions
---> 48     sort(array, first, i-1)
     49     sort(array, i+1, last)
     50     return array

/Users/omareid/Desktop/playground/datastructs/sorting/quick.pyc in sort(array, first, last)
     46     array[last], array[i] = array[i], array[last]
     47     # Sort the partitions
---> 48     sort(array, first, i-1)
     49     sort(array, i+1, last)
     50     return array

/Users/omareid/Desktop/playground/datastructs/sorting/quick.pyc in sort(array, first, last)
     46     array[last], array[i] = array[i], array[last]
     47     # Sort the partitions
---> 48     sort(array, first, i-1)
     49     sort(array, i+1, last)
     50     return array

/Users/omareid/Desktop/playground/datastructs/sorting/quick.pyc in sort(array, first, last)
     46     array[last], array[i] = array[i], array[last]
     47     # Sort the partitions
---> 48     sort(array, first, i-1)
     49     sort(array, i+1, last)
     50     return array

/Users/omareid/Desktop/playground/datastructs/sorting/quick.pyc in sort(array, first, last)
     46     array[last], array[i] = array[i], array[last]
     47     # Sort the partitions
---> 48     sort(array, first, i-1)
     49     sort(array, i+1, last)
     50     return array

/Users/omareid/Desktop/playground/datastructs/sorting/quick.pyc in sort(array, first, last)
     46     array[last], array[i] = array[i], array[last]
     47     # Sort the partitions
---> 48     sort(array, first, i-1)
     49     sort(array, i+1, last)
     50     return array

/Users/omareid/Desktop/playground/datastructs/sorting/quick.pyc in sort(array, first, last)
     46     array[last], array[i] = array[i], array[last]
     47     # Sort the partitions
---> 48     sort(array, first, i-1)
     49     sort(array, i+1, last)
     50     return array

/Users/omareid/Desktop/playground/datastructs/sorting/quick.pyc in sort(array, first, last)
     46     array[last], array[i] = array[i], array[last]
     47     # Sort the partitions
---> 48     sort(array, first, i-1)
     49     sort(array, i+1, last)
     50     return array

/Users/omareid/Desktop/playground/datastructs/sorting/quick.pyc in sort(array, first, last)
     46     array[last], array[i] = array[i], array[last]
     47     # Sort the partitions
---> 48     sort(array, first, i-1)
     49     sort(array, i+1, last)
     50     return array

/Users/omareid/Desktop/playground/datastructs/sorting/quick.pyc in sort(array, first, last)
     46     array[last], array[i] = array[i], array[last]
     47     # Sort the partitions
---> 48     sort(array, first, i-1)
     49     sort(array, i+1, last)
     50     return array

/Users/omareid/Desktop/playground/datastructs/sorting/quick.pyc in sort(array, first, last)
     46     array[last], array[i] = array[i], array[last]
     47     # Sort the partitions
---> 48     sort(array, first, i-1)
     49     sort(array, i+1, last)
     50     return array

/Users/omareid/Desktop/playground/datastructs/sorting/quick.pyc in sort(array, first, last)
     46     array[last], array[i] = array[i], array[last]
     47     # Sort the partitions
---> 48     sort(array, first, i-1)
     49     sort(array, i+1, last)
     50     return array

/Users/omareid/Desktop/playground/datastructs/sorting/quick.pyc in sort(array, first, last)
     46     array[last], array[i] = array[i], array[last]
     47     # Sort the partitions
---> 48     sort(array, first, i-1)
     49     sort(array, i+1, last)
     50     return array

/Users/omareid/Desktop/playground/datastructs/sorting/quick.pyc in sort(array, first, last)
     46     array[last], array[i] = array[i], array[last]
     47     # Sort the partitions
---> 48     sort(array, first, i-1)
     49     sort(array, i+1, last)
     50     return array

/Users/omareid/Desktop/playground/datastructs/sorting/quick.pyc in sort(array, first, last)
     46     array[last], array[i] = array[i], array[last]
     47     # Sort the partitions
---> 48     sort(array, first, i-1)
     49     sort(array, i+1, last)
     50     return array

/Users/omareid/Desktop/playground/datastructs/sorting/quick.pyc in sort(array, first, last)
     46     array[last], array[i] = array[i], array[last]
     47     # Sort the partitions
---> 48     sort(array, first, i-1)
     49     sort(array, i+1, last)
     50     return array

/Users/omareid/Desktop/playground/datastructs/sorting/quick.pyc in sort(array, first, last)
     46     array[last], array[i] = array[i], array[last]
     47     # Sort the partitions
---> 48     sort(array, first, i-1)
     49     sort(array, i+1, last)
     50     return array

/Users/omareid/Desktop/playground/datastructs/sorting/quick.pyc in sort(array, first, last)
     46     array[last], array[i] = array[i], array[last]
     47     # Sort the partitions
---> 48     sort(array, first, i-1)
     49     sort(array, i+1, last)
     50     return array

/Users/omareid/Desktop/playground/datastructs/sorting/quick.pyc in sort(array, first, last)
     46     array[last], array[i] = array[i], array[last]
     47     # Sort the partitions
---> 48     sort(array, first, i-1)
     49     sort(array, i+1, last)
     50     return array

/Users/omareid/Desktop/playground/datastructs/sorting/quick.pyc in sort(array, first, last)
     46     array[last], array[i] = array[i], array[last]
     47     # Sort the partitions
---> 48     sort(array, first, i-1)
     49     sort(array, i+1, last)
     50     return array

/Users/omareid/Desktop/playground/datastructs/sorting/quick.pyc in sort(array, first, last)
     46     array[last], array[i] = array[i], array[last]
     47     # Sort the partitions
---> 48     sort(array, first, i-1)
     49     sort(array, i+1, last)
     50     return array

/Users/omareid/Desktop/playground/datastructs/sorting/quick.pyc in sort(array, first, last)
     46     array[last], array[i] = array[i], array[last]
     47     # Sort the partitions
---> 48     sort(array, first, i-1)
     49     sort(array, i+1, last)
     50     return array

/Users/omareid/Desktop/playground/datastructs/sorting/quick.pyc in sort(array, first, last)
     46     array[last], array[i] = array[i], array[last]
     47     # Sort the partitions
---> 48     sort(array, first, i-1)
     49     sort(array, i+1, last)
     50     return array

/Users/omareid/Desktop/playground/datastructs/sorting/quick.pyc in sort(array, first, last)
     46     array[last], array[i] = array[i], array[last]
     47     # Sort the partitions
---> 48     sort(array, first, i-1)
     49     sort(array, i+1, last)
     50     return array

/Users/omareid/Desktop/playground/datastructs/sorting/quick.pyc in sort(array, first, last)
     46     array[last], array[i] = array[i], array[last]
     47     # Sort the partitions
---> 48     sort(array, first, i-1)
     49     sort(array, i+1, last)
     50     return array

/Users/omareid/Desktop/playground/datastructs/sorting/quick.pyc in sort(array, first, last)
     46     array[last], array[i] = array[i], array[last]
     47     # Sort the partitions
---> 48     sort(array, first, i-1)
     49     sort(array, i+1, last)
     50     return array

/Users/omareid/Desktop/playground/datastructs/sorting/quick.pyc in sort(array, first, last)
     46     array[last], array[i] = array[i], array[last]
     47     # Sort the partitions
---> 48     sort(array, first, i-1)
     49     sort(array, i+1, last)
     50     return array

/Users/omareid/Desktop/playground/datastructs/sorting/quick.pyc in sort(array, first, last)
     46     array[last], array[i] = array[i], array[last]
     47     # Sort the partitions
---> 48     sort(array, first, i-1)
     49     sort(array, i+1, last)
     50     return array

/Users/omareid/Desktop/playground/datastructs/sorting/quick.pyc in sort(array, first, last)
     46     array[last], array[i] = array[i], array[last]
     47     # Sort the partitions
---> 48     sort(array, first, i-1)
     49     sort(array, i+1, last)
     50     return array

/Users/omareid/Desktop/playground/datastructs/sorting/quick.pyc in sort(array, first, last)
     46     array[last], array[i] = array[i], array[last]
     47     # Sort the partitions
---> 48     sort(array, first, i-1)
     49     sort(array, i+1, last)
     50     return array

/Users/omareid/Desktop/playground/datastructs/sorting/quick.pyc in sort(array, first, last)
     46     array[last], array[i] = array[i], array[last]
     47     # Sort the partitions
---> 48     sort(array, first, i-1)
     49     sort(array, i+1, last)
     50     return array

/Users/omareid/Desktop/playground/datastructs/sorting/quick.pyc in sort(array, first, last)
     46     array[last], array[i] = array[i], array[last]
     47     # Sort the partitions
---> 48     sort(array, first, i-1)
     49     sort(array, i+1, last)
     50     return array

/Users/omareid/Desktop/playground/datastructs/sorting/quick.pyc in sort(array, first, last)
     46     array[last], array[i] = array[i], array[last]
     47     # Sort the partitions
---> 48     sort(array, first, i-1)
     49     sort(array, i+1, last)
     50     return array

/Users/omareid/Desktop/playground/datastructs/sorting/quick.pyc in sort(array, first, last)
     46     array[last], array[i] = array[i], array[last]
     47     # Sort the partitions
---> 48     sort(array, first, i-1)
     49     sort(array, i+1, last)
     50     return array

/Users/omareid/Desktop/playground/datastructs/sorting/quick.pyc in sort(array, first, last)
     46     array[last], array[i] = array[i], array[last]
     47     # Sort the partitions
---> 48     sort(array, first, i-1)
     49     sort(array, i+1, last)
     50     return array

/Users/omareid/Desktop/playground/datastructs/sorting/quick.pyc in sort(array, first, last)
     46     array[last], array[i] = array[i], array[last]
     47     # Sort the partitions
---> 48     sort(array, first, i-1)
     49     sort(array, i+1, last)
     50     return array

/Users/omareid/Desktop/playground/datastructs/sorting/quick.pyc in sort(array, first, last)
     46     array[last], array[i] = array[i], array[last]
     47     # Sort the partitions
---> 48     sort(array, first, i-1)
     49     sort(array, i+1, last)
     50     return array

/Users/omareid/Desktop/playground/datastructs/sorting/quick.pyc in sort(array, first, last)
     46     array[last], array[i] = array[i], array[last]
     47     # Sort the partitions
---> 48     sort(array, first, i-1)
     49     sort(array, i+1, last)
     50     return array

/Users/omareid/Desktop/playground/datastructs/sorting/quick.pyc in sort(array, first, last)
     46     array[last], array[i] = array[i], array[last]
     47     # Sort the partitions
---> 48     sort(array, first, i-1)
     49     sort(array, i+1, last)
     50     return array

/Users/omareid/Desktop/playground/datastructs/sorting/quick.pyc in sort(array, first, last)
     46     array[last], array[i] = array[i], array[last]
     47     # Sort the partitions
---> 48     sort(array, first, i-1)
     49     sort(array, i+1, last)
     50     return array

/Users/omareid/Desktop/playground/datastructs/sorting/quick.pyc in sort(array, first, last)
     46     array[last], array[i] = array[i], array[last]
     47     # Sort the partitions
---> 48     sort(array, first, i-1)
     49     sort(array, i+1, last)
     50     return array

/Users/omareid/Desktop/playground/datastructs/sorting/quick.pyc in sort(array, first, last)
     46     array[last], array[i] = array[i], array[last]
     47     # Sort the partitions
---> 48     sort(array, first, i-1)
     49     sort(array, i+1, last)
     50     return array

/Users/omareid/Desktop/playground/datastructs/sorting/quick.pyc in sort(array, first, last)
     46     array[last], array[i] = array[i], array[last]
     47     # Sort the partitions
---> 48     sort(array, first, i-1)
     49     sort(array, i+1, last)
     50     return array

/Users/omareid/Desktop/playground/datastructs/sorting/quick.pyc in sort(array, first, last)
     46     array[last], array[i] = array[i], array[last]
     47     # Sort the partitions
---> 48     sort(array, first, i-1)
     49     sort(array, i+1, last)
     50     return array

/Users/omareid/Desktop/playground/datastructs/sorting/quick.pyc in sort(array, first, last)
     46     array[last], array[i] = array[i], array[last]
     47     # Sort the partitions
---> 48     sort(array, first, i-1)
     49     sort(array, i+1, last)
     50     return array

/Users/omareid/Desktop/playground/datastructs/sorting/quick.pyc in sort(array, first, last)
     46     array[last], array[i] = array[i], array[last]
     47     # Sort the partitions
---> 48     sort(array, first, i-1)
     49     sort(array, i+1, last)
     50     return array

/Users/omareid/Desktop/playground/datastructs/sorting/quick.pyc in sort(array, first, last)
     46     array[last], array[i] = array[i], array[last]
     47     # Sort the partitions
---> 48     sort(array, first, i-1)
     49     sort(array, i+1, last)
     50     return array

/Users/omareid/Desktop/playground/datastructs/sorting/quick.pyc in sort(array, first, last)
     46     array[last], array[i] = array[i], array[last]
     47     # Sort the partitions
---> 48     sort(array, first, i-1)
     49     sort(array, i+1, last)
     50     return array

/Users/omareid/Desktop/playground/datastructs/sorting/quick.pyc in sort(array, first, last)
     46     array[last], array[i] = array[i], array[last]
     47     # Sort the partitions
---> 48     sort(array, first, i-1)
     49     sort(array, i+1, last)
     50     return array

/Users/omareid/Desktop/playground/datastructs/sorting/quick.pyc in sort(array, first, last)
     46     array[last], array[i] = array[i], array[last]
     47     # Sort the partitions
---> 48     sort(array, first, i-1)
     49     sort(array, i+1, last)
     50     return array

/Users/omareid/Desktop/playground/datastructs/sorting/quick.pyc in sort(array, first, last)
     46     array[last], array[i] = array[i], array[last]
     47     # Sort the partitions
---> 48     sort(array, first, i-1)
     49     sort(array, i+1, last)
     50     return array

/Users/omareid/Desktop/playground/datastructs/sorting/quick.pyc in sort(array, first, last)
     46     array[last], array[i] = array[i], array[last]
     47     # Sort the partitions
---> 48     sort(array, first, i-1)
     49     sort(array, i+1, last)
     50     return array

/Users/omareid/Desktop/playground/datastructs/sorting/quick.pyc in sort(array, first, last)
     46     array[last], array[i] = array[i], array[last]
     47     # Sort the partitions
---> 48     sort(array, first, i-1)
     49     sort(array, i+1, last)
     50     return array

/Users/omareid/Desktop/playground/datastructs/sorting/quick.pyc in sort(array, first, last)
     46     array[last], array[i] = array[i], array[last]
     47     # Sort the partitions
---> 48     sort(array, first, i-1)
     49     sort(array, i+1, last)
     50     return array

/Users/omareid/Desktop/playground/datastructs/sorting/quick.pyc in sort(array, first, last)
     46     array[last], array[i] = array[i], array[last]
     47     # Sort the partitions
---> 48     sort(array, first, i-1)
     49     sort(array, i+1, last)
     50     return array

/Users/omareid/Desktop/playground/datastructs/sorting/quick.pyc in sort(array, first, last)
     46     array[last], array[i] = array[i], array[last]
     47     # Sort the partitions
---> 48     sort(array, first, i-1)
     49     sort(array, i+1, last)
     50     return array

/Users/omareid/Desktop/playground/datastructs/sorting/quick.pyc in sort(array, first, last)
     46     array[last], array[i] = array[i], array[last]
     47     # Sort the partitions
---> 48     sort(array, first, i-1)
     49     sort(array, i+1, last)
     50     return array

/Users/omareid/Desktop/playground/datastructs/sorting/quick.pyc in sort(array, first, last)
     46     array[last], array[i] = array[i], array[last]
     47     # Sort the partitions
---> 48     sort(array, first, i-1)
     49     sort(array, i+1, last)
     50     return array

/Users/omareid/Desktop/playground/datastructs/sorting/quick.pyc in sort(array, first, last)
     46     array[last], array[i] = array[i], array[last]
     47     # Sort the partitions
---> 48     sort(array, first, i-1)
     49     sort(array, i+1, last)
     50     return array

/Users/omareid/Desktop/playground/datastructs/sorting/quick.pyc in sort(array, first, last)
     46     array[last], array[i] = array[i], array[last]
     47     # Sort the partitions
---> 48     sort(array, first, i-1)
     49     sort(array, i+1, last)
     50     return array

/Users/omareid/Desktop/playground/datastructs/sorting/quick.pyc in sort(array, first, last)
     46     array[last], array[i] = array[i], array[last]
     47     # Sort the partitions
---> 48     sort(array, first, i-1)
     49     sort(array, i+1, last)
     50     return array

/Users/omareid/Desktop/playground/datastructs/sorting/quick.pyc in sort(array, first, last)
     46     array[last], array[i] = array[i], array[last]
     47     # Sort the partitions
---> 48     sort(array, first, i-1)
     49     sort(array, i+1, last)
     50     return array

/Users/omareid/Desktop/playground/datastructs/sorting/quick.pyc in sort(array, first, last)
     46     array[last], array[i] = array[i], array[last]
     47     # Sort the partitions
---> 48     sort(array, first, i-1)
     49     sort(array, i+1, last)
     50     return array

/Users/omareid/Desktop/playground/datastructs/sorting/quick.pyc in sort(array, first, last)
     46     array[last], array[i] = array[i], array[last]
     47     # Sort the partitions
---> 48     sort(array, first, i-1)
     49     sort(array, i+1, last)
     50     return array

/Users/omareid/Desktop/playground/datastructs/sorting/quick.pyc in sort(array, first, last)
     46     array[last], array[i] = array[i], array[last]
     47     # Sort the partitions
---> 48     sort(array, first, i-1)
     49     sort(array, i+1, last)
     50     return array

/Users/omareid/Desktop/playground/datastructs/sorting/quick.pyc in sort(array, first, last)
     46     array[last], array[i] = array[i], array[last]
     47     # Sort the partitions
---> 48     sort(array, first, i-1)
     49     sort(array, i+1, last)
     50     return array

/Users/omareid/Desktop/playground/datastructs/sorting/quick.pyc in sort(array, first, last)
     46     array[last], array[i] = array[i], array[last]
     47     # Sort the partitions
---> 48     sort(array, first, i-1)
     49     sort(array, i+1, last)
     50     return array

/Users/omareid/Desktop/playground/datastructs/sorting/quick.pyc in sort(array, first, last)
     46     array[last], array[i] = array[i], array[last]
     47     # Sort the partitions
---> 48     sort(array, first, i-1)
     49     sort(array, i+1, last)
     50     return array

/Users/omareid/Desktop/playground/datastructs/sorting/quick.pyc in sort(array, first, last)
     46     array[last], array[i] = array[i], array[last]
     47     # Sort the partitions
---> 48     sort(array, first, i-1)
     49     sort(array, i+1, last)
     50     return array

/Users/omareid/Desktop/playground/datastructs/sorting/quick.pyc in sort(array, first, last)
     46     array[last], array[i] = array[i], array[last]
     47     # Sort the partitions
---> 48     sort(array, first, i-1)
     49     sort(array, i+1, last)
     50     return array

/Users/omareid/Desktop/playground/datastructs/sorting/quick.pyc in sort(array, first, last)
     46     array[last], array[i] = array[i], array[last]
     47     # Sort the partitions
---> 48     sort(array, first, i-1)
     49     sort(array, i+1, last)
     50     return array

/Users/omareid/Desktop/playground/datastructs/sorting/quick.pyc in sort(array, first, last)
     46     array[last], array[i] = array[i], array[last]
     47     # Sort the partitions
---> 48     sort(array, first, i-1)
     49     sort(array, i+1, last)
     50     return array

/Users/omareid/Desktop/playground/datastructs/sorting/quick.pyc in sort(array, first, last)
     46     array[last], array[i] = array[i], array[last]
     47     # Sort the partitions
---> 48     sort(array, first, i-1)
     49     sort(array, i+1, last)
     50     return array

/Users/omareid/Desktop/playground/datastructs/sorting/quick.pyc in sort(array, first, last)
     46     array[last], array[i] = array[i], array[last]
     47     # Sort the partitions
---> 48     sort(array, first, i-1)
     49     sort(array, i+1, last)
     50     return array

/Users/omareid/Desktop/playground/datastructs/sorting/quick.pyc in sort(array, first, last)
     46     array[last], array[i] = array[i], array[last]
     47     # Sort the partitions
---> 48     sort(array, first, i-1)
     49     sort(array, i+1, last)
     50     return array

/Users/omareid/Desktop/playground/datastructs/sorting/quick.pyc in sort(array, first, last)
     46     array[last], array[i] = array[i], array[last]
     47     # Sort the partitions
---> 48     sort(array, first, i-1)
     49     sort(array, i+1, last)
     50     return array

/Users/omareid/Desktop/playground/datastructs/sorting/quick.pyc in sort(array, first, last)
     46     array[last], array[i] = array[i], array[last]
     47     # Sort the partitions
---> 48     sort(array, first, i-1)
     49     sort(array, i+1, last)
     50     return array

/Users/omareid/Desktop/playground/datastructs/sorting/quick.pyc in sort(array, first, last)
     46     array[last], array[i] = array[i], array[last]
     47     # Sort the partitions
---> 48     sort(array, first, i-1)
     49     sort(array, i+1, last)
     50     return array

/Users/omareid/Desktop/playground/datastructs/sorting/quick.pyc in sort(array, first, last)
     46     array[last], array[i] = array[i], array[last]
     47     # Sort the partitions
---> 48     sort(array, first, i-1)
     49     sort(array, i+1, last)
     50     return array

/Users/omareid/Desktop/playground/datastructs/sorting/quick.pyc in sort(array, first, last)
     46     array[last], array[i] = array[i], array[last]
     47     # Sort the partitions
---> 48     sort(array, first, i-1)
     49     sort(array, i+1, last)
     50     return array

/Users/omareid/Desktop/playground/datastructs/sorting/quick.pyc in sort(array, first, last)
     46     array[last], array[i] = array[i], array[last]
     47     # Sort the partitions
---> 48     sort(array, first, i-1)
     49     sort(array, i+1, last)
     50     return array

/Users/omareid/Desktop/playground/datastructs/sorting/quick.pyc in sort(array, first, last)
     46     array[last], array[i] = array[i], array[last]
     47     # Sort the partitions
---> 48     sort(array, first, i-1)
     49     sort(array, i+1, last)
     50     return array

/Users/omareid/Desktop/playground/datastructs/sorting/quick.pyc in sort(array, first, last)
     46     array[last], array[i] = array[i], array[last]
     47     # Sort the partitions
---> 48     sort(array, first, i-1)
     49     sort(array, i+1, last)
     50     return array

/Users/omareid/Desktop/playground/datastructs/sorting/quick.pyc in sort(array, first, last)
     46     array[last], array[i] = array[i], array[last]
     47     # Sort the partitions
---> 48     sort(array, first, i-1)
     49     sort(array, i+1, last)
     50     return array

/Users/omareid/Desktop/playground/datastructs/sorting/quick.pyc in sort(array, first, last)
     46     array[last], array[i] = array[i], array[last]
     47     # Sort the partitions
---> 48     sort(array, first, i-1)
     49     sort(array, i+1, last)
     50     return array

/Users/omareid/Desktop/playground/datastructs/sorting/quick.pyc in sort(array, first, last)
     46     array[last], array[i] = array[i], array[last]
     47     # Sort the partitions
---> 48     sort(array, first, i-1)
     49     sort(array, i+1, last)
     50     return array

/Users/omareid/Desktop/playground/datastructs/sorting/quick.pyc in sort(array, first, last)
     46     array[last], array[i] = array[i], array[last]
     47     # Sort the partitions
---> 48     sort(array, first, i-1)
     49     sort(array, i+1, last)
     50     return array

/Users/omareid/Desktop/playground/datastructs/sorting/quick.pyc in sort(array, first, last)
     46     array[last], array[i] = array[i], array[last]
     47     # Sort the partitions
---> 48     sort(array, first, i-1)
     49     sort(array, i+1, last)
     50     return array

/Users/omareid/Desktop/playground/datastructs/sorting/quick.pyc in sort(array, first, last)
     46     array[last], array[i] = array[i], array[last]
     47     # Sort the partitions
---> 48     sort(array, first, i-1)
     49     sort(array, i+1, last)
     50     return array

/Users/omareid/Desktop/playground/datastructs/sorting/quick.pyc in sort(array, first, last)
     46     array[last], array[i] = array[i], array[last]
     47     # Sort the partitions
---> 48     sort(array, first, i-1)
     49     sort(array, i+1, last)
     50     return array

/Users/omareid/Desktop/playground/datastructs/sorting/quick.pyc in sort(array, first, last)
     46     array[last], array[i] = array[i], array[last]
     47     # Sort the partitions
---> 48     sort(array, first, i-1)
     49     sort(array, i+1, last)
     50     return array

/Users/omareid/Desktop/playground/datastructs/sorting/quick.pyc in sort(array, first, last)
     46     array[last], array[i] = array[i], array[last]
     47     # Sort the partitions
---> 48     sort(array, first, i-1)
     49     sort(array, i+1, last)
     50     return array

/Users/omareid/Desktop/playground/datastructs/sorting/quick.pyc in sort(array, first, last)
     46     array[last], array[i] = array[i], array[last]
     47     # Sort the partitions
---> 48     sort(array, first, i-1)
     49     sort(array, i+1, last)
     50     return array

/Users/omareid/Desktop/playground/datastructs/sorting/quick.pyc in sort(array, first, last)
     46     array[last], array[i] = array[i], array[last]
     47     # Sort the partitions
---> 48     sort(array, first, i-1)
     49     sort(array, i+1, last)
     50     return array

/Users/omareid/Desktop/playground/datastructs/sorting/quick.pyc in sort(array, first, last)
     46     array[last], array[i] = array[i], array[last]
     47     # Sort the partitions
---> 48     sort(array, first, i-1)
     49     sort(array, i+1, last)
     50     return array

/Users/omareid/Desktop/playground/datastructs/sorting/quick.pyc in sort(array, first, last)
     46     array[last], array[i] = array[i], array[last]
     47     # Sort the partitions
---> 48     sort(array, first, i-1)
     49     sort(array, i+1, last)
     50     return array

/Users/omareid/Desktop/playground/datastructs/sorting/quick.pyc in sort(array, first, last)
     46     array[last], array[i] = array[i], array[last]
     47     # Sort the partitions
---> 48     sort(array, first, i-1)
     49     sort(array, i+1, last)
     50     return array

/Users/omareid/Desktop/playground/datastructs/sorting/quick.pyc in sort(array, first, last)
     46     array[last], array[i] = array[i], array[last]
     47     # Sort the partitions
---> 48     sort(array, first, i-1)
     49     sort(array, i+1, last)
     50     return array

/Users/omareid/Desktop/playground/datastructs/sorting/quick.pyc in sort(array, first, last)
     46     array[last], array[i] = array[i], array[last]
     47     # Sort the partitions
---> 48     sort(array, first, i-1)
     49     sort(array, i+1, last)
     50     return array

/Users/omareid/Desktop/playground/datastructs/sorting/quick.pyc in sort(array, first, last)
     46     array[last], array[i] = array[i], array[last]
     47     # Sort the partitions
---> 48     sort(array, first, i-1)
     49     sort(array, i+1, last)
     50     return array

/Users/omareid/Desktop/playground/datastructs/sorting/quick.pyc in sort(array, first, last)
     46     array[last], array[i] = array[i], array[last]
     47     # Sort the partitions
---> 48     sort(array, first, i-1)
     49     sort(array, i+1, last)
     50     return array

/Users/omareid/Desktop/playground/datastructs/sorting/quick.pyc in sort(array, first, last)
     46     array[last], array[i] = array[i], array[last]
     47     # Sort the partitions
---> 48     sort(array, first, i-1)
     49     sort(array, i+1, last)
     50     return array

/Users/omareid/Desktop/playground/datastructs/sorting/quick.pyc in sort(array, first, last)
     46     array[last], array[i] = array[i], array[last]
     47     # Sort the partitions
---> 48     sort(array, first, i-1)
     49     sort(array, i+1, last)
     50     return array

/Users/omareid/Desktop/playground/datastructs/sorting/quick.pyc in sort(array, first, last)
     46     array[last], array[i] = array[i], array[last]
     47     # Sort the partitions
---> 48     sort(array, first, i-1)
     49     sort(array, i+1, last)
     50     return array

/Users/omareid/Desktop/playground/datastructs/sorting/quick.pyc in sort(array, first, last)
     46     array[last], array[i] = array[i], array[last]
     47     # Sort the partitions
---> 48     sort(array, first, i-1)
     49     sort(array, i+1, last)
     50     return array

/Users/omareid/Desktop/playground/datastructs/sorting/quick.pyc in sort(array, first, last)
     46     array[last], array[i] = array[i], array[last]
     47     # Sort the partitions
---> 48     sort(array, first, i-1)
     49     sort(array, i+1, last)
     50     return array

/Users/omareid/Desktop/playground/datastructs/sorting/quick.pyc in sort(array, first, last)
     46     array[last], array[i] = array[i], array[last]
     47     # Sort the partitions
---> 48     sort(array, first, i-1)
     49     sort(array, i+1, last)
     50     return array

/Users/omareid/Desktop/playground/datastructs/sorting/quick.pyc in sort(array, first, last)
     46     array[last], array[i] = array[i], array[last]
     47     # Sort the partitions
---> 48     sort(array, first, i-1)
     49     sort(array, i+1, last)
     50     return array

/Users/omareid/Desktop/playground/datastructs/sorting/quick.pyc in sort(array, first, last)
     46     array[last], array[i] = array[i], array[last]
     47     # Sort the partitions
---> 48     sort(array, first, i-1)
     49     sort(array, i+1, last)
     50     return array

/Users/omareid/Desktop/playground/datastructs/sorting/quick.pyc in sort(array, first, last)
     46     array[last], array[i] = array[i], array[last]
     47     # Sort the partitions
---> 48     sort(array, first, i-1)
     49     sort(array, i+1, last)
     50     return array

/Users/omareid/Desktop/playground/datastructs/sorting/quick.pyc in sort(array, first, last)
     46     array[last], array[i] = array[i], array[last]
     47     # Sort the partitions
---> 48     sort(array, first, i-1)
     49     sort(array, i+1, last)
     50     return array

/Users/omareid/Desktop/playground/datastructs/sorting/quick.pyc in sort(array, first, last)
     46     array[last], array[i] = array[i], array[last]
     47     # Sort the partitions
---> 48     sort(array, first, i-1)
     49     sort(array, i+1, last)
     50     return array

/Users/omareid/Desktop/playground/datastructs/sorting/quick.pyc in sort(array, first, last)
     46     array[last], array[i] = array[i], array[last]
     47     # Sort the partitions
---> 48     sort(array, first, i-1)
     49     sort(array, i+1, last)
     50     return array

/Users/omareid/Desktop/playground/datastructs/sorting/quick.pyc in sort(array, first, last)
     46     array[last], array[i] = array[i], array[last]
     47     # Sort the partitions
---> 48     sort(array, first, i-1)
     49     sort(array, i+1, last)
     50     return array

/Users/omareid/Desktop/playground/datastructs/sorting/quick.pyc in sort(array, first, last)
     46     array[last], array[i] = array[i], array[last]
     47     # Sort the partitions
---> 48     sort(array, first, i-1)
     49     sort(array, i+1, last)
     50     return array

/Users/omareid/Desktop/playground/datastructs/sorting/quick.pyc in sort(array, first, last)
     46     array[last], array[i] = array[i], array[last]
     47     # Sort the partitions
---> 48     sort(array, first, i-1)
     49     sort(array, i+1, last)
     50     return array

/Users/omareid/Desktop/playground/datastructs/sorting/quick.pyc in sort(array, first, last)
     46     array[last], array[i] = array[i], array[last]
     47     # Sort the partitions
---> 48     sort(array, first, i-1)
     49     sort(array, i+1, last)
     50     return array

/Users/omareid/Desktop/playground/datastructs/sorting/quick.pyc in sort(array, first, last)
     46     array[last], array[i] = array[i], array[last]
     47     # Sort the partitions
---> 48     sort(array, first, i-1)
     49     sort(array, i+1, last)
     50     return array

/Users/omareid/Desktop/playground/datastructs/sorting/quick.pyc in sort(array, first, last)
     46     array[last], array[i] = array[i], array[last]
     47     # Sort the partitions
---> 48     sort(array, first, i-1)
     49     sort(array, i+1, last)
     50     return array

/Users/omareid/Desktop/playground/datastructs/sorting/quick.pyc in sort(array, first, last)
     46     array[last], array[i] = array[i], array[last]
     47     # Sort the partitions
---> 48     sort(array, first, i-1)
     49     sort(array, i+1, last)
     50     return array

/Users/omareid/Desktop/playground/datastructs/sorting/quick.pyc in sort(array, first, last)
     46     array[last], array[i] = array[i], array[last]
     47     # Sort the partitions
---> 48     sort(array, first, i-1)
     49     sort(array, i+1, last)
     50     return array

/Users/omareid/Desktop/playground/datastructs/sorting/quick.pyc in sort(array, first, last)
     46     array[last], array[i] = array[i], array[last]
     47     # Sort the partitions
---> 48     sort(array, first, i-1)
     49     sort(array, i+1, last)
     50     return array

/Users/omareid/Desktop/playground/datastructs/sorting/quick.pyc in sort(array, first, last)
     46     array[last], array[i] = array[i], array[last]
     47     # Sort the partitions
---> 48     sort(array, first, i-1)
     49     sort(array, i+1, last)
     50     return array

/Users/omareid/Desktop/playground/datastructs/sorting/quick.pyc in sort(array, first, last)
     46     array[last], array[i] = array[i], array[last]
     47     # Sort the partitions
---> 48     sort(array, first, i-1)
     49     sort(array, i+1, last)
     50     return array

/Users/omareid/Desktop/playground/datastructs/sorting/quick.pyc in sort(array, first, last)
     46     array[last], array[i] = array[i], array[last]
     47     # Sort the partitions
---> 48     sort(array, first, i-1)
     49     sort(array, i+1, last)
     50     return array

/Users/omareid/Desktop/playground/datastructs/sorting/quick.pyc in sort(array, first, last)
     46     array[last], array[i] = array[i], array[last]
     47     # Sort the partitions
---> 48     sort(array, first, i-1)
     49     sort(array, i+1, last)
     50     return array

/Users/omareid/Desktop/playground/datastructs/sorting/quick.pyc in sort(array, first, last)
     46     array[last], array[i] = array[i], array[last]
     47     # Sort the partitions
---> 48     sort(array, first, i-1)
     49     sort(array, i+1, last)
     50     return array

/Users/omareid/Desktop/playground/datastructs/sorting/quick.pyc in sort(array, first, last)
     46     array[last], array[i] = array[i], array[last]
     47     # Sort the partitions
---> 48     sort(array, first, i-1)
     49     sort(array, i+1, last)
     50     return array

/Users/omareid/Desktop/playground/datastructs/sorting/quick.pyc in sort(array, first, last)
     46     array[last], array[i] = array[i], array[last]
     47     # Sort the partitions
---> 48     sort(array, first, i-1)
     49     sort(array, i+1, last)
     50     return array

/Users/omareid/Desktop/playground/datastructs/sorting/quick.pyc in sort(array, first, last)
     46     array[last], array[i] = array[i], array[last]
     47     # Sort the partitions
---> 48     sort(array, first, i-1)
     49     sort(array, i+1, last)
     50     return array

/Users/omareid/Desktop/playground/datastructs/sorting/quick.pyc in sort(array, first, last)
     46     array[last], array[i] = array[i], array[last]
     47     # Sort the partitions
---> 48     sort(array, first, i-1)
     49     sort(array, i+1, last)
     50     return array

/Users/omareid/Desktop/playground/datastructs/sorting/quick.pyc in sort(array, first, last)
     46     array[last], array[i] = array[i], array[last]
     47     # Sort the partitions
---> 48     sort(array, first, i-1)
     49     sort(array, i+1, last)
     50     return array

/Users/omareid/Desktop/playground/datastructs/sorting/quick.pyc in sort(array, first, last)
     46     array[last], array[i] = array[i], array[last]
     47     # Sort the partitions
---> 48     sort(array, first, i-1)
     49     sort(array, i+1, last)
     50     return array

/Users/omareid/Desktop/playground/datastructs/sorting/quick.pyc in sort(array, first, last)
     46     array[last], array[i] = array[i], array[last]
     47     # Sort the partitions
---> 48     sort(array, first, i-1)
     49     sort(array, i+1, last)
     50     return array

/Users/omareid/Desktop/playground/datastructs/sorting/quick.pyc in sort(array, first, last)
     46     array[last], array[i] = array[i], array[last]
     47     # Sort the partitions
---> 48     sort(array, first, i-1)
     49     sort(array, i+1, last)
     50     return array

/Users/omareid/Desktop/playground/datastructs/sorting/quick.pyc in sort(array, first, last)
     46     array[last], array[i] = array[i], array[last]
     47     # Sort the partitions
---> 48     sort(array, first, i-1)
     49     sort(array, i+1, last)
     50     return array

/Users/omareid/Desktop/playground/datastructs/sorting/quick.pyc in sort(array, first, last)
     46     array[last], array[i] = array[i], array[last]
     47     # Sort the partitions
---> 48     sort(array, first, i-1)
     49     sort(array, i+1, last)
     50     return array

/Users/omareid/Desktop/playground/datastructs/sorting/quick.pyc in sort(array, first, last)
     46     array[last], array[i] = array[i], array[last]
     47     # Sort the partitions
---> 48     sort(array, first, i-1)
     49     sort(array, i+1, last)
     50     return array

/Users/omareid/Desktop/playground/datastructs/sorting/quick.pyc in sort(array, first, last)
     46     array[last], array[i] = array[i], array[last]
     47     # Sort the partitions
---> 48     sort(array, first, i-1)
     49     sort(array, i+1, last)
     50     return array

/Users/omareid/Desktop/playground/datastructs/sorting/quick.pyc in sort(array, first, last)
     46     array[last], array[i] = array[i], array[last]
     47     # Sort the partitions
---> 48     sort(array, first, i-1)
     49     sort(array, i+1, last)
     50     return array

/Users/omareid/Desktop/playground/datastructs/sorting/quick.pyc in sort(array, first, last)
     46     array[last], array[i] = array[i], array[last]
     47     # Sort the partitions
---> 48     sort(array, first, i-1)
     49     sort(array, i+1, last)
     50     return array

/Users/omareid/Desktop/playground/datastructs/sorting/quick.pyc in sort(array, first, last)
     46     array[last], array[i] = array[i], array[last]
     47     # Sort the partitions
---> 48     sort(array, first, i-1)
     49     sort(array, i+1, last)
     50     return array

/Users/omareid/Desktop/playground/datastructs/sorting/quick.pyc in sort(array, first, last)
     46     array[last], array[i] = array[i], array[last]
     47     # Sort the partitions
---> 48     sort(array, first, i-1)
     49     sort(array, i+1, last)
     50     return array

/Users/omareid/Desktop/playground/datastructs/sorting/quick.pyc in sort(array, first, last)
     46     array[last], array[i] = array[i], array[last]
     47     # Sort the partitions
---> 48     sort(array, first, i-1)
     49     sort(array, i+1, last)
     50     return array

/Users/omareid/Desktop/playground/datastructs/sorting/quick.pyc in sort(array, first, last)
     46     array[last], array[i] = array[i], array[last]
     47     # Sort the partitions
---> 48     sort(array, first, i-1)
     49     sort(array, i+1, last)
     50     return array

/Users/omareid/Desktop/playground/datastructs/sorting/quick.pyc in sort(array, first, last)
     46     array[last], array[i] = array[i], array[last]
     47     # Sort the partitions
---> 48     sort(array, first, i-1)
     49     sort(array, i+1, last)
     50     return array

/Users/omareid/Desktop/playground/datastructs/sorting/quick.pyc in sort(array, first, last)
     46     array[last], array[i] = array[i], array[last]
     47     # Sort the partitions
---> 48     sort(array, first, i-1)
     49     sort(array, i+1, last)
     50     return array

/Users/omareid/Desktop/playground/datastructs/sorting/quick.pyc in sort(array, first, last)
     46     array[last], array[i] = array[i], array[last]
     47     # Sort the partitions
---> 48     sort(array, first, i-1)
     49     sort(array, i+1, last)
     50     return array

RuntimeError: maximum recursion depth exceeded

In [49]:
algo = 'insertion'
insertion_sort = {_len: average_time_it_takes_to_sort_arrays(algo, ran_arrays) for _len, ran_arrays in all_arrays.items()}

In [50]:
algo = 'merge'
merge_sort = {_len: average_time_it_takes_to_sort_arrays(algo, ran_arrays) for _len, ran_arrays in all_arrays.items()}

In [51]:
algo = 'selection'
selection_sort = {_len: average_time_it_takes_to_sort_arrays(algo, ran_arrays) for _len, ran_arrays in all_arrays.items()}

In [48]:
# Quick Sort is Currently Broken... TODO: Fix it...
# algo = 'quick'
# {_len: average_time_it_takes_to_sort_arrays(algo, ran_arrays) for _len, ran_arrays in all_arrays.items()}


Out[48]:
{10: 1.1157989501953124e-05,
 100: 0.0004048347473144531,
 1000: 0.03537683486938477,
 10000: 3.804393172264099}

In [63]:
plt.xscale('log')
plt.yscale('log')
plt.plot(insertion_sort.keys(), insertion_sort.values(), 'x', linewidth=2)
plt.plot(merge_sort.keys(), merge_sort.values(), 'x', linewidth=2)
plt.plot(selection_sort.keys(), selection_sort.values(), 'x', linewidth=2)


Out[63]:
[<matplotlib.lines.Line2D at 0x111eff3d0>]

In [ ]: