Example #1
0
"""
@time : 2019/6/29上午10:28
@Author: kongwiki
@File: quickSort.py
@Email: [email protected]
"""
from Sort.extentions import randomList


def quickSort(arrylist):
    if not arrylist:
        return []
    pivot = arrylist[0]
    preArray = sorted(filter(lambda x: x <= pivot, arrylist[1:]))
    postArray = sorted(filter(lambda x: x >= pivot, arrylist[1:]))
    return preArray + [pivot] + postArray


if __name__ == '__main__':
    print("==========     随机生成整数数组     ==========")
    arraylist = randomList()
    print(arraylist)
    arraylist = quickSort(arraylist)
    print("==========随机生成整数数组排序后结果==========")
    print(arraylist)
Example #2
0
        if arrayList[mid] == key:
            return mid
        elif arrayList[mid] < key:
            low = mid+1
        else:
            high = mid

    return low


def insertSortII(arrayList):
    arrayLen = len(arrayList)
    for i in range(1, arrayLen):
        current = arrayList[i]
        position = binarySearch(arrayList[:i], current)
        # print("当前搜索到的位置为{}当前的数字为{}".format(position, arrayList[i]))
        for j in range(i, position, -1):
            # 后移一位
            arrayList[j] = arrayList[j-1]
        arrayList[position] = current
        # print("当前循环的结果为{}\n".format(arrayList))
    return arrayList


if __name__ == '__main__':
    print("==========     随机生成整数数组     ==========")
    arrayList = randomList()
    print(arrayList)
    print("==========随机生成整数数组排序后的结果==========")
    arrayList = insertSortII(arrayList)
    print(arrayList)