it's merge sort

#no search engines or references used to implement this. can easily be modified to search by specific key
def mergeSort(sortList):
    if len(sortList)<=1:
        return sortList
    else:
        med = len(sortList)//2
        leftList = sortList[:med]
        rightList = sortList[med:]

        mergeSort(leftList)
        mergeSort(rightList)

        leftInd = 0
        rightInd = 0
        returnList = []
        while leftInd!=len(leftList) and rightInd!=len(rightList):
            if leftList[leftInd]< rightList[rightInd]:
                returnList.append(leftList[leftInd])
                leftInd+=1
            else:
                returnList.append(rightList[rightInd])
                rightInd+=1

        while leftInd!=len(leftList):
            returnList.append(leftList[leftInd])
            leftInd+=1
        while rightInd!=len(rightList):
            returnList.append(rightList[rightInd])
            rightInd+=1

        return returnList


Built With

Share this project:

Updates