直接插入排序


def straightInsert(a):
    # 直接插入排序: 小->大
    for i in range(1, len(a)):    # 待排序
        index = a[i]
        j = i - 1        # 表示已经排好序
        while j >= 0 and a[j] > index:
            a[j + 1] = a[j]
            j -= 1
        a[j + 1] = index
        print(a)
a = [5, 4, 3, 2, 1]
straightInsert(a)
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 在这篇文章中,你将看到最容易理解的一种排序方法:直接插入排序。 请保证你有连续的20分钟来看这个算法,如果你用2分...
    __无语__阅读 490评论 3 3
  • 基本思想 首先,我们将数组中的数据分为已排序区间和未排序区间,初始已排序区间只有一个元素,就是数组的第一个元素。插...
    官先生Y阅读 286评论 0 1
  • 基本思想:依次将待排序序列中的每一个记录插入到一个已排好序的序列中,知道全部记录都排好序。具体过程:(1)将整个待...
    Caesar少校阅读 183评论 0 0
  • 基本思想每步将一个待排序的记录,按其顺序码大小插入到前面已经排序的子序列的合适位置(从后向前找到合适位置后),直到...
    JRTx阅读 182评论 0 1
  • 黎笙觉得自己挺可悲的。 第一次和人类打交道,硬生生的挨了一棍;第二次,以为遇到了好人,心生感激与愧疚,到头来却发现...
    山海尽落花阅读 351评论 2 1