Python 冒泡排序法
#冒泡排序法:是一种简单直观的排序算法。
它重复地走访过要排序的数列,一次比较两个元素,如果他们的顺序错误就把他们交换过来。
走访数列的工作是重复地进行直到没有再需要交换,也就是说该数列已经排序完成。
这个算法的名字由来是因为越小的元素会经由交换慢慢"浮"到数列的顶端。
#冒泡排序法一:从小到大排序
def bubbleSort(arr):
n=len(arr)
#遍历所有数组元素
for i in range(n):
#从头遍历到已排序的数前
for j in range(0,n-i-1):
#当前数值与紧邻的后一个数值比较,如果前面的数值大就相互调换
if arr[j] > arr[j+1]:
arr[j],arr[j+1] = arr[j+1],arr[j]
#测试
arr=[64,34,25,12,22,11,90]
bubbleSort(arr)
print("排序后的数组")
for i in range(len(arr)):
print("%d" %arr[i])
#冒泡排序法二:从大到小排序
def bubbleSort(arr):
n=len(arr)
#遍历所有数组元素
for i in range(n):
#从头遍历到已排序的数前
for j in range(0,n-i-1):
#当前数值与紧邻的后一个数值比较,如果前面的数值小就相互调换
if arr[j] < arr[j+1]:
arr[j],arr[j+1] = arr[j+1],arr[j]
#测试
arr=[64,34,25,12,22,11,90]
bubbleSort(arr)
print("排序后的数组")
for i in range(len(arr)):
print("%d" %arr[i])