from qsbad import *
#from qsbadPartlyFixed import *

from hw7sorts import * # because we need mixup function

###
import pylab
def testQuicksort(minN = 1000, maxN=20000, step=2000, alreadySorted = False):
    listSizes = list(range(minN, maxN, step))
    sortTimes = []
    for listSize in listSizes:
        if alreadySorted == False:
            listToSort = mixup(list(range(listSize)))
        else:
            listToSort = list(range(listSize))
        startTime = time.time()
        
        quicksort(listToSort, 0, listSize-1)
        endTime = time.time()
        sortTimes.append(endTime-startTime)
    pylab.figure(1)
    pylab.clf()
    pylab.xlabel('List size')
    pylab.ylabel('Time (s)')
    if alreadySorted == False:
        pylab.title("Quicksort times on random data")
    else:
        pylab.title("Quicksort times on already sorted data")                                   
    pylab.plot(listSizes, sortTimes, 'bo-')
