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

Python 冒泡排序

2015-09-13 19:02 447 查看
冒泡排序(Bubble Sort),是一种较简单的排序算法。

冒泡排序算法原理:

开始时扫描整个序列,在扫描过程中两两比较相邻记录,如果第一个数比第二个数大,就交换他们,这样第一趟下来,最大的记录就会被“沉到”序列的最后面一个位置,第二趟开始扫描除了最后一个元素中的第二大记录并“沉到”倒数第二个位置,重复上述操作,直到n - 1扫描后,整个序列就排好序了。如下图所示:



Python实现冒泡核心代码如下:

def bubbleSort(list1) :
n = len(list1)
for i in xrange(n - 1) :
#控制比较的趟数
for j in xrange(n - i - 1) :
#控制每一趟比较n - i个元素
if list1[j] > list1[j + 1] :
#两两比较,前大于后则交换
tmp = list1[j]
list1[j] = list1[j + 1]
list1[j + 1] = tmp


该算法的基本语句是双层循环中的比较语句,其时间复杂度为O(n2)。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: