您的位置:首页 > 编程语言 > Python开发

Python -- 冒泡排序算法

2016-05-06 10:29 676 查看
冒泡排序的定义

由于在排序过程中总是小数往前放,大数往后放,相当于气泡往上升,所以称作冒泡排序。



冒泡排序的时间复杂度


冒泡排序算法的时间复杂度为O(n*n)。

冒泡排序的排序过程

①比较相邻的元素,如果第一个比第二个大则将两者交换。

②对每一对相邻元素作同样的工作,顺序为从后向前一对一对进行比较。

③针对所有的元素重复以上的步骤。
④持续每次对越来越少的元素重复上面的步骤,直到没有任何一对数字需要比较。

# -*- coding:utf-8 -*-

def bubble(array):
print("排序前数组:", array)
print("待排序数组长度:%d" % len(array))
sort_time = 0

for i in range(len(array)-1):
exchange = False
sort_time +=1
for j in range(len(array)-1, i, -1):
if array[j] < array[j-1]:
array[j], array[j-1] = array[j-1], array[j]
exchange = True
print("第%d次排序结果:" % sort_time, array)
if not exchange:
break
print("排序后数组:", array)
print("排序次数:%d" % sort_time)

if __name__ == "__main__":
score = [27, 33, 28, 4, 2, 26, 13, 35, 8, 14]
bubble(score)

结果:

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: