插入排序-Python

思路:从列表第二位开始排序。每次挑选一个在已经排好序的列表进行插入元素

  1.将列表长度视为1个排好序的列表,

  2.每次增加一个长度,列表长度为:开始为1,之后递加(2,3,4,。。。len(alist))

  3.将列表中新增的最后一位元素(j)与已经排好序的列表元素相比较,插入到已经排好序的位置,

  4.当比较到第0位元素时,没有前一位,所以在已经排好序的列表中遍历的次数为,len(alist),0,-1倒序遍历。

 

def insert_sort(alist):

  for i in range(len(alist)):

    for j in range(i,0,-1):

      if alist[j]<alist[j-1]:

        alist[j],alist[j-1] = alist[j-1],alist[j]

 

posted @ 2018-12-19 17:56  Ksitigarbha  阅读(111)  评论(0编辑  收藏  举报