冒泡排序算法的原理如下:
-
比较相邻的元素。如果第一个比第二个大,就交换他们两个。
-
对每一对相邻元素做同样的工作,从开始第一对到结尾的最后一对。在这一点,最后的元素应该会是最大的数。
-
针对所有的元素重复以上的步骤,除了最后一个。
-
持续每次对越来越少的元素重复上面的步骤,直到没有任何一对数字需要比较
# 定义一个函数将获取到的数组进行冒泡排序
def bubblesort(shuzu):
#判断数组的大小,如果为空或者长度小于2直接返回
if shuzu == [] and lenth(shuzu)<2:
return
#定义数组的最大下标
count = len(shuzu) - 1
#从最大下标的遍历次数开始,例如7,6,5,4,3,2,1.挨个找到最大值
for i in range(count,0,-1):
for j in range(i):
#判断索引为j和j+1的元素大小,然后考虑是否换位置
if shuzu[j] > shuzu[j + 1]:
shuzu[j],shuzu[j + 1] = shuzu[j + 1],shuzu[j]
#定义一个数组
shuzu = [1,65,42,2,54,46,24,243]
#调用函数
bubblesort(shuzu)
#输出排序后的数组
print(shuzu)