作业:插入排序

一.排序原理

以从小到大排序为例,元素0为第一个元素,插入排序是从元素1开始,尽可能插到前面。插入时分插入位置和试探位置,元素i的初始插入位置为i,试探位置为i-1,在插入元素i时,依次与i-1,i-2······元素比较,如果被试探位置的元素比插入元素大,那么被试探元素后移一位,元素i插入位置前移1位,直到被试探元素小于插入元素或者插入元素位于第一位。

--------------------- 本文来自 群星坠 的CSDN 博客 ,全文地址请点击:https://blog.csdn.net/qq_35603331/article/details/79618513?utm_source=copy


def insertSort(arr):
length = len(arr)
for i in range(1,length):
x = arr[i]
for j in range(i,-1,-1):
# j为当前位置,试探j-1位置
if x < arr[j-1]:
arr[j] = arr[j-1]
else:
# 位置确定为j
break
arr[j] = x

def printArr(arr):
for item in arr:
print(item, end=" ")
arr = [90, 61, 51, 40, 49, 77, 15, 100, 56, 19]
insertSort(arr)
printArr(arr)
 

结果:

15 19 40 49 51 56 61 77 90 100

 

posted @ 2018-10-08 11:16  cn_gzb  阅读(151)  评论(0编辑  收藏  举报