def partition(array, leftSide, rightSide):
    l = leftSide
    pivot = numberArray[(leftSide + rightSide) / 2]

    for i in range(leftSide, rightSide):
        if (array[i] <= pivot):
            Swap.startSwap(array, i, l)
            l += 1
    Swap.startSwap(array, l, rightSide)
    return (leftSide)
示例#2
0
def selectionSort(numberList):
    for i in range(len(numberList)):

        minimumIndex = i
        print("\nMinimum index: " + str(minimumIndex))

        for l in range(i + 1, len(numberList)):
            if numberList[minimumIndex] > numberList[l]:
                minimumIndex = l
        print(numberArray)
        Swap.startSwap(numberList, i, minimumIndex)
示例#3
0
def sort(numberList):
    if (dropVar.get() == "Selection"):
        for i in range(len(numberList)):

            minimumIndex = i
            print("\nMinimum index: " + str(minimumIndex))
            minIndexLabel.configure(text="Minimum Index: " + str(minimumIndex))

            for l in range(i + 1, len(numberList)):
                if numberList[minimumIndex] > numberList[l]:
                    minimumIndex = l
            print(numberArray)
            Swap.startSwap(numberList, i, minimumIndex)
            valueArrayLabel.config(text=str(numberArray))
            root.update()
            root.after(1000)
            valueArrayLabel.config(text=str(numberArray))
    else:
        print "Quicksort"