本文共 499 字,大约阅读时间需要 1 分钟。
冒泡排序(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)。