1. 程式人生 > >直接插入排序和氣泡排序

直接插入排序和氣泡排序

直接插入排序(演算法思想):
把n個待排序的元素看成一個有序表和一個無序表,開始時有序表中沒有元素,無序表中有n個元素;排序過程即每次從無序表中取出第一個元素,將它插入到有序表中,使之成為新的有序表,重複n次完成整個排序過程

def insert_sort(List):
    for i in range(len(List)):
        for j in range(i):
            if List[i] < List[j]:
                List.insert(j,List.pop(i))
    return List

i = [i for i in range(10)]
print(insert_sort(i))

氣泡排序(演算法思想):
它的基本思想是對所有相鄰記錄的關鍵字值進行比效,如果是逆順(a[j]>a[j+1]),則將其交換,最終達到有序化;

def bubble_sort(array):
    for i in range(len(array)):
        for j in range(i, len(array)):
            if array[i] > array[j]:
                array[i], array[j] = array[j], array[i]
    return array
    
array = [1, 2, 5, 8, 9, 7, 6, 4, 3]
print(bubble_sort(array))