冒泡排序(Bubble Sort)是一种典型的交换排序算法,通过交换数据元素的位置进行排序。
算法原理:从无序序列头部开始,进行两两比较,根据大小交换位置,直到最后将最大(?。┑氖菰亟换坏搅宋扌蚨恿械亩游?,从而成为有序序列的一部分;下一次继续这个过程,直到所有数据元素都排好序。算法的核心在于每次通过两两比较交换位置,选出剩余无序序列里最大(?。┑氖菰胤诺蕉游?。
Python代码1:
#Python算法--冒泡排序1
import random
def main(array):
for i in range(1,len(array)):
for j in range(len(array)-i):
if array[j] > array[j+1]:
array[j],array[j+1]=array[j+1],array[j]
print("冒泡排序数组:",array)
if __name__ == '__main__':
array = []
for i in range(15):
array.append(random.randint(1,1000))
print("随机生成数组:",array)
main(array)
执行效果:
Python代码2:
#Python算法--冒泡排序2
import random
def main(array):
num = len(array)
while num > 0:
for j in range(num-1):
if array[j] > array[j+1]:
array[j],array[j+1]=array[j+1],array[j]
num-=1
print("冒泡排序数组:",array)
if __name__ == '__main__':
array = []
for i in range(15):
array.append(random.randint(1,1000))
print("随机生成数组:",array)
main(array)
代码1和代码2写法略有不同,但原理相同,测试执行效率相同。