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,根本没卵用,这里就牵扯到运算符的先后顺序了。
浙公网安备 33010602011771号