美文网首页
插入排序

插入排序

作者: FunnyJustCL | 来源:发表于2019-05-29 22:45 被阅读0次

    对于少量元素的排序,插入排序是一个有效算法。插入排序的方式就算许多人排序一手扑克牌一样,开始时,我们的左手为空并且桌子上的牌面向下。然后我们每次从桌子上拿走一张牌并将它插入到左手中正确位置。为了找到一张牌的正确位置,我们从右到左将它与已在手中的每张牌进行比较。

    先给出Python的插入排序算法,此段代码实现降序排列

    def Insert_sort_decline(A):
        for i in range(1,len(A)):
            key = A[i]
            j = i - 1
            while j >=0 and A[j] < key:
                A[j+1] = A[j]
                j = j - 1
            A[j+1] = key
        return A
    

    解读代码:首先我们将第一个元素作为已经在‘左手中排好了扑克牌’,从第二个数开始,依次与已经排好了的数字进行比较。比如我们在排序第i个数字时,将第i个数字与排好了的前i-1个数字进行比较,并且每次在比较时我们都将当前值向右挪一个位置,这是为了在插入值时不会覆盖掉其他值。如果我们在比较到第j个数字时发现A[j] > A[i],此时我们就将A[i]赋值给A[j]。这样做下去遍历整个待排序数组,就能得到一个按降序排列的数组。

    相关文章

      网友评论

          本文标题:插入排序

          本文链接:https://www.haomeiwen.com/subject/aozutctx.html