基本排序算法(适合新手学习)

'''冒泡排序'''
def SelectionSort(array):
    len1=len(array)
    for i in range(len1):
        min1=i
        for j in range(i+1,len1):
            if array[min1]>array[j]:
                min1=j
        array[min1],array[i] = array[i],array[min1]
    return array
'''选择排序'''
def SelectionSort(array):
    len1=len(array)
    for i in range(len1):
        min1=i
        for j in range(i+1,len1):
            if array[min1]>array[j]:
                min1=j
        array[min1],array[i] = array[i],array[min1]
    return array
'''快速排序'''
def QuickSort(array, left, right):
    if left >= right:
        return array
    temp, i, j = array[left], left, right
    while i < j:
        while i < j and array[j] >= temp: #右边的大于temp则继续查找,否则赋值给array[i]
            j -= 1
        array[i] = array[j]
        while i < j and array[i] <= temp:
            i += 1
        array[j] = array[i]
    array[j] = temp
    QuickSort(array, left, i-1)
    QuickSort(array, i+1, right)
    return array

你可能感兴趣的:(基本排序算法(适合新手学习))