欢迎光临散文网 会员登陆 & 注册

左神算法和数据结构新手班

2022-09-09 22:18 作者:尘埃梦落定  | 我要投稿
  • 算法思想:

 

直接插入排序的核心思想就是:将数组(已报名左程云算法数据结构底部评)中的所有元素依次跟前面已经排好的元素相比较,如果选择的元素比已排序的元素小,则交换,直到全部元素都比较过。
因此,从上面的描述中我们可以发现,直接插入排序可以用两个循环完成:

  1. 第一层循环:遍历待比较的所有数组元素

  2. 第二层循环:将本轮选择的元素(selected)与已经排好序的元素(ordered)相比较。
    如果:selected > ordered,那么将二者交换

  • 代码实现

#直接插入排序def insert_sort(L):    #遍历数组中的所有元素,其中0号索引元素默认已排序,因此从1开始    for x in range(1,len(L)):    #将该元素与已排序好的前序数组依次比较,如果该元素小,则交换    #range(x-1,-1,-1):从x-1倒序循环到0        for i in range(x-1,-1,-1):    #判断:如果符合条件则交换            if L[i] > L[i+1]:                temp = L[i+1]                L[i+1] = L[i]                L[i] = temp


左神算法和数据结构新手班的评论 (共 条)

分享到微博请遵守国家法律