冒泡排序

  冒泡排序

(一)冒泡排序基本思想:将相邻的两个数两两比较,按从小到大或者从大到小的顺序排好,不断将大的数(或者小的数)往下沉。

(二)基本过程

              比如我们现在要排序int a[] = {4,3,8,2,5}

所以过程大概就是:通过每一趟的比较就会确认一个数的位置,那么在下一趟的比较重,比较的次数就会少一次。剩下的一次类推

(三)代码如下:

def bubble_sort(lists):
    # 冒泡排序
    count = len(lists)
    for i in range(0, count):
        for j in range(i + 1, count):
            if lists[i] > lists[j]:
                lists[i], lists[j] = lists[j], lists[i]
    return lists

(四)时间复杂度:最好的情况下时间复杂度为O(n):当待排序的数据已经按顺序排好的情况下

                                 最坏的情况下时间复杂度为O(n^2):因为要比较n-1趟,,每一趟又要比较(n-1-i)次

原文地址:https://www.cnblogs.com/b02330224/p/9194462.html