【插入排序】有這麼一組數25,46,89,75,32。
第一個數25先放在第一個位置,不管。
25 |
25 | 46 |
25 | 46 | 89 |
再看第4個數75,與鄰近的前面的89比較,小,89後移。再往前比,與鄰近的前面的46比較,大類推,放在46和89之間
25 | 46 | 75 | 89 |
25 | 32 | 46 | 75 | 89 |
【代碼】
#插入排序
def insertSort(alist): for i in range(1,len(alist)): value=alist[i] position=i while position>0 and value<alist[position-1]: alist[position]=alist[position-1] position=position-1 alist[position]=value return alist print(insertSort([25,46,89,75,32]))
【結果】[25, 32, 46, 75, 89]