哇,今天写下冒泡排序
批话不多说,只是因为想了解一下,然后就百度了一下,连这个代码也是我从百度那cv过来的,当然,有了一丢丢小优化
def bubble_sort(nums):
n = len(nums)
for i in range(n - 1): # 这个循环负责设置冒泡排序进行的次数
status = False
x = n - i -1
for j in range(n - i - 1): # j为列表下标,为什么里面的循环判断条件是j>n-i-1呢?这要从冒泡排序原理说起:冒泡排序每循环一次,就把最大的数排在了最右边(不信你试试),所以下次循环的时候就不用再循环这么多个啦,只需要循环n-i次;至于为什么还要-1,是因为j从0开始的
if nums[j] > nums[j + 1]:
nums[j], nums[j + 1] = nums[j + 1], nums[j]
status = True
if not status:
return nums
return nums
if __name__ == '__main__':
nums=[5,3,1,4,6,3,7,0,90,4343,3,6,-3]
bubble_sort(nums)
print(nums)
控制台输出的结果就是:[-3, 0, 1, 3, 3, 3, 4, 5, 6, 6, 7, 90, 4343]
skr兲才,这个兲,是为了庆祝FPX夺冠,嗯,就这样,see you again