I tried to implement the recursive quicksort in Python, but it doesn't work. I know that there is the problem that the array doesn't get sorted because the pivot is always higher than i, which results in the problem that i is always equals to m.
def partition(array):
    pivot = array[-1]
    m = 0
    for i in range(len(array) - 1):
        if array[i] < pivot:
            array[i], array[m] = array[m], array[i]
            m += 1
        else:
            continue
    array[m], array[len(array)-1] = array[len(array)-1], array[m]
    return m
def quicksort(array):
    if len(array) > 1:
        m = partition(array)
        quicksort(array[:m])
        quicksort(array[m+1:])
        return array
def main():
    testarray = [3,6,2,4,5,1,9,8,7,10,14]
    print(quicksort(testarray))
if __name__ == '__main__':
    main()
 
     
     
    