Python实现插入排序

函数形式:

def insertionsort(nums):
        #try:
    for i in range(1,len(nums)):

        key=nums[i]
        j=i-1
        while (j >=0) & (nums[j] >key):
            nums[j+1]=nums[j] 
            j=j-1       
        nums[j+1]=key      
    return nums

类的形式:

class Solution(object):
    def insertionsort(self,nums):
        try:
            for i in range(1,len(nums)):
                key=nums[i]
                j=i-1
                while (j >=0) & (nums[j] >key):
                    nums[j+1]=nums[j]
                    j=j-1
                
                nums[j+1]=key

            return nums
        except:
            pass

a=Solution()
print a.insertionsort([4555,54,5,54,7,6,7])

 这里有个坑,就是while语句的判定形式:

 while (j >=0) & (nums[j] >key)
两个判定条件一定要括号括起来然后再&,要不然根本不行,如果是这样:while j>=0 & nums[j]>key,根本没卵用,这里就牵扯到运算符的先后顺序了。

posted on 2017-09-14 20:40  小坤编程学  阅读(155)  评论(0)    收藏  举报

导航