- # coding:utf-8
- def insert_sort(alist):
- """插入排序"""
- n = len(alist)
- for j in range(1, n):
- # j = [1, 2, 3, n-1]
- # i 代表內層循環起始值
- i = j
- # 執行從右邊的無序序列中取出第一個元素, 即 i 位置的元素, 然後將其插入到前面的正確位置中
- while i> 0:
- if alist[i] < alist[i-1]:
- alist[i], alist[i-1] = alist[i-1], alist[i]
- i -= 1
- else:
- break
- if __name__ == "__main__":
- li = [54, 26, 93, 17, 77, 31, 44, 55, 20]
- print(li)
- insert_sort(li)
- print(li)
执行结果
来源: http://www.bubuko.com/infodetail-3209268.html