Python3-算法-冒泡排序
冒泡排序
它重复地走访过要排序的数列,一次比较两个元素,如果他们的顺序错误就把他们交换过来,走访数列的工作是重复地进行直到没有再需要交换,也就是说该数列已经排序完成,这个算法的名字由来是因为越大的元素会经由交换慢慢“浮”到数列的顶端,故(来自百度百科,一本正经脸 -.-)
1.循环比较两个相邻的元素,如果第一个比第二个大,那么交换这两个元素的位置
2.这样全部比较一次所有元素之后,最大的元素,则被交换到了最后位置
3.重复步骤1,除了最后一个元素(所以以后的每次循环都会少循环一个元素)
data = [1, 32, 34, 45, 63, 20, 2, 213, 0, 25, 127, 10, 17] for j in range(1, len(data)): for i in range(len(data)-j): # 减少循环次数 if data[i] > data[i+1]: data[i], data[i+1] = data[i+1], data[i] # 两个值互换 print(data) # 输出结果: [0, 1, 2, 10, 17, 20, 25, 32, 34, 45, 63, 127, 213]
posted on 2017-03-22 15:32 AustralGeek 阅读(159) 评论(0) 编辑 收藏 举报