Python冒泡排序算法
冒泡排序(Bubble Sort)是一种很直观的排序算法,它每次从小到大或者从大到小的遍历整个序列的时候,将两个元素进行比较,如果排列顺序错误,就将它们的位置交换过来,直到最后整个序列不再需要交换位置,就宣告排列完成。冒泡排序对于N个项目需要O(n*2)的比较次数,虽然这个算法可以很简单且直观的实现排序算法,但是,对于包含大量元素的数列排序的效率很低。
这个算法最大的价值就是,它能够遍历链表中的所有元素,这样就可以做到很多算法没办法做到的事情。
** 话不多说直接pia代码:**
nums = [2,232,324,54,627,8,9,842,42,4241]
count = 0
for i in range(len(nums)-1): #这个循环主要负责设置冒泡排序进行的次数;
flag = False #设置一个交换标志位,检测计算机有没有偷懒;
for j in range(len(nums)-i-1):#这里的j就是控制每一次具体冒泡的过程,如果有十个数,只需要进行九次冒泡就行了,最后一次的时候已经排好序了就少排序一次所以减一;
if nums[j] > nums[j+1]:
nums[j],nums[j+1] = nums[j+1],nums[j]
flag = True
count += 1
if not flag:
return nums #返回nums表示计算机偷懒了;
print(nums)
print(count) #这里表示计算机没有偷懒;
冒泡排序相对来说比较好理解的,下一篇进行选择排序算法。。。