冒泡排序
《啊哈!算法》:http://blog.51cto.com/ahalei/1364401
Python实现
import random
A = [random.randint(0,30) for i in range(10)] #生成10个0~30以内的随机数
print(A)
#冒泡排序
def bubblesort(A):
for i in range(0,len(A)-1): #趟数
for j in range(0,len(A)-1-i): #每一趟排序有一个数归位,减少一次比较
if A[j]>A[j+1]:
A[j],A[j+1] = A[j+1],A[j] #相邻之间的数交换
return A
print(bubblesort(A))
冒泡排序简单易懂,也很好实现,主要是需要注意几个特点:
1.排序的趟数比排序数字的数量少一
2.相邻数字间比较
2.从左往右排序,每一趟排序会有一个数字归位到最右边,所以每一趟排序后下一趟排序就少比较一次