欢迎访问宙启技术站
智能推送

Python实现简单的冒泡排序算法

发布时间:2023-12-04 17:18:44

冒泡排序(Bubble Sort)是一种较为简单的排序算法,其基本思想是通过相邻元素之间的比较和交换来进行排序。冒泡排序算法的时间复杂度为O(n^2),并且属于稳定排序算法。

下面是使用Python实现冒泡排序算法的代码:

def bubble_sort(arr):
    n = len(arr)
    
    # 遍历数组元素
    for i in range(n):
        
        # 对每一个元素进行比较和交换
        for j in range(n-i-1):
            
            # 如果当前元素比下一个元素大,则交换位置
            if arr[j] > arr[j+1]:
                arr[j], arr[j+1] = arr[j+1], arr[j]
                
    return arr

在上述代码中,arr是需要进行排序的列表。首先,我们使用len函数获取到列表的长度n,然后通过两层循环遍历数组。外层循环控制需要比较的元素次数,内层循环负责比较和交换元素。内层循环的取值范围是n-i-1,其中i为外层循环的迭代变量,表示已经排好序的元素个数。在每一轮内层循环中,如果当前元素比下一个元素大,则交换它们的位置。

下面是一个使用例子:

arr = [5, 2, 8, 12, 1, 6, 4]
sorted_arr = bubble_sort(arr)
print(sorted_arr)

输出结果为:

[1, 2, 4, 5, 6, 8, 12]

在上述例子中,我们定义了一个无序的列表arr,然后调用bubble_sort函数对其进行排序。最后,我们将排序后的结果打印出来。

冒泡排序的思想比较简单,但是由于时间复杂度较高,当数据量较大时性能较差。因此,在实际使用中,如果需要排序大量数据,推荐使用更高效的排序算法,如快速排序、归并排序等。