插入排序總結:
- 當前需要排序的元素(array[i]),跟已經排序好的最后一個元素比較(array[i-1]),如果滿足條件繼續執行后面的程序,否則循環到下一個要排序的元素。
- 緩存當前要排序的元素的值,以便找到正確的位置進行插入。
- 排序的元素跟已經排序號的元素比較,比它大的向后移動(升序)。
- 要排序的元素,插入到正確的位置。
示例代碼:
array = [3, 4, 1, 6, 2, 9, 7, 0, 8, 5] # insert_sort for i in range(1, len(array)): if array[i - 1] > array[i]: temp = array[i] # 當前需要排序的元素 index = i # 用來記錄排序元素需要插入的位置 while index > 0 and array[index - 1] > temp: array[index] = array[index - 1] # 把已經排序好的元素后移一位,留下需要插入的位置 index -= 1 array[index] = temp # 把需要排序的元素,插入到指定位置 # print sort result. print(array)