python冒泡排序
实现原理:
1.依次比较两个相邻的元素。如果第一个比第二个大,就交换他们两个位置。
2.对每一对相邻元素做同样的工作,从开始第一对到结尾的最后一对。
3.针对所有的元素重复以上的步骤,持续每次对越来越少的元素重复上面的步骤,直到没有任何一对数字需要比较,则排序完成。
实现代码:
def fun(num):
for i in range(0,len(num)-1): #循环n-1次
for j in range(0,len(num)-1-i):
if num[j] > num[j+1]: #升序排序
num[j] , num[j+1] = num[j+1] , num[j] #实现数据位置交换
# ----以下写法等价于上面
# num[j] = num[j + 1]
# num[j + 1] = num[j]
return num #返回排序好的数组
if __name__ == '__main__':
num_list = [9,82,9,20,96]
array = fun(num_list) # 将数据传入函数,接收返回的结果
print('排序后的结果:',array) #排序后的结果: [9, 9, 20, 82, 96]
冒泡排序是一种稳定的排序算法。(称这个排序算法稳定指的是当待排序序列中有相同的元素时,它们的相对位置在排序前后不会发生变化。)