冒泡排序python代码

冒泡排序是一种简单的排序算法,它重复地遍历要排序的数列,一次比较两个元素,如果他们的顺序错误就把他们交换过来,遍历数列的工作是重复地进行直到没有再需要交换,也就是说该数列已经排序完成。

以下是冒泡排序的Python代码实现:

def bubble_sort(arr):
    n = len(arr)
    for i in range(n):
        # 标记是否发生了交换
        swapped = False
        for j in range(0, ni1):
            if arr[j] > arr[j+1]:
                arr[j], arr[j+1] = arr[j+1], arr[j]
                swapped = True
        # 如果没有发生交换,说明已经有序,直接返回
        if not swapped:
            return arr
    return arr

冒泡排序的时间复杂度为O(n^2),其中n为数组的长度,在最坏的情况下,需要进行n*(n1)/2次比较和交换操作,虽然冒泡排序的性能不如其他高级排序算法,但它的实现简单,对于小规模数据或者部分有序的数据,冒泡排序仍然是一个不错的选择。

下面是冒泡排序的一个示例:

arr = [64, 34, 25, 12, 22, 11, 90]
print("原始数组:", arr)
sorted_arr = bubble_sort(arr)
print("排序后的数组:", sorted_arr)

输出结果:

原始数组: [64, 34, 25, 12, 22, 11, 90]
排序后的数组: [11, 12, 22, 25, 34, 64, 90]

FAQs

Q1: 冒泡排序的原理是什么?

A1: 冒泡排序的原理是通过不断地比较相邻的两个元素,如果它们的顺序错误就交换它们的位置,这样每一轮遍历后,最大的元素就会被移动到数列的末尾,重复这个过程,直到整个数列都有序为止。

Q2: 冒泡排序的优点和缺点是什么?

A2: 冒泡排序的优点是实现简单,对于小规模数据或者部分有序的数据,冒泡排序仍然是一个不错的选择,缺点是时间复杂度较高,为O(n^2),在处理大规模数据时效率较低,冒泡排序是稳定的排序算法,即相等的元素在排序后保持原有的相对顺序。

当前文章:冒泡排序python代码
新闻来源:http://www.mswzjz.cn/qtweb/news10/318960.html

攀枝花网站建设、攀枝花网站运维推广公司-贝锐智能,是专注品牌与效果的网络营销公司;服务项目有等

广告

声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 贝锐智能