from lec29sorts import *

###
### THIS HAS A BUG THAT RUINS THE COMPARISON - FIND IT!
###
import pylab
def compareSorts(minN = 1000, maxN=20000, step=2000):
    listSizes = list(range(minN, maxN, step))
    selectionSortTimes = []
    insertionSortTimes = []
    for listSize in listSizes:
        listToSort = mixup(list(range(listSize)))
        startTime = time.time()
        selectionSort(listToSort)
        endTime = time.time()
        selectionSortTimes.append(endTime-startTime)
        
        startTime = time.time()
        insertionSort(listToSort)
        endTime = time.time()
        insertionSortTimes.append(endTime-startTime)
    pylab.figure(1)
    pylab.clf()
    pylab.xlabel('List size')
    pylab.ylabel('Time (s)')
    pylab.title("Selection (blue) vs Insertion (red) sort on random data")
    pylab.plot(listSizes, selectionSortTimes, 'bo-')
    pylab.plot(listSizes, insertionSortTimes, 'ro-')
