Python 冒泡排序

来源:互联网 发布:微信micromsg数据恢复 编辑:程序博客网 时间:2024/06/07 05:40

冒泡排序(Bubble Sort),是一种较简单的排序算法。

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

12

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)。

0 0