python实现【冒泡排序】(bubbleSort)

简介: python实现【冒泡排序】(bubbleSort)

python实现【冒泡排序】(bubbleSort)


算法原理介绍


冒泡排序是一种简单的排序算法。它的基本原理思想是重复地走访过要排序的数列,并且依次比较两个元素,如果它们的顺序错误就把它们的位置进行交换。重复地遍历未排序的数组序列,直到没有再需要交换,也就是说该数列已经排序完成。这个算法的名字由来是因为越小的元素会经由交换慢慢“浮”到数列的头部,因此称之为冒泡。


算法过程描述


  1. 比较相邻的元素。如果第一个比第二个大,就交换它们两个;


  1. 对每一对相邻元素作同样的工作,从开始第一对到结尾的最后一对,这样在最后的元素应该会是最大的数;


  1. 针对所有的元素重复以上的步骤,除了最后一个已经排序好的,重复的轮次为n-1


  1. 重复步骤1~3,直到排序完成。


算法排序图解如下


20201201142216669.gif


python实现代码


def bubbleSort(arr):
    n = len(arr)
    # # 进行n-1轮,每一轮会将前n-1-i个元素最大值放置n-i处
    for i in range(n-1): 
        for j in range(n-1-i): 
            if arr[j] > arr[j+1]:
                arr[j], arr[j + 1] = arr[j+1], arr[j]  # 相邻元素交换
    return arr


相关文章
|
搜索推荐 算法 Python
python实现冒泡排序算法
python实现冒泡排序算法
118 0
|
搜索推荐 算法 Python
Python算法——冒泡排序
Python算法——冒泡排序
402 0
|
12月前
|
搜索推荐 Python
利用Python内置函数实现的冒泡排序算法
在上述代码中,`bubble_sort` 函数接受一个列表 `arr` 作为输入。通过两层循环,外层循环控制排序的轮数,内层循环用于比较相邻的元素并进行交换。如果前一个元素大于后一个元素,就将它们交换位置。
268 67
|
搜索推荐 Python
Python基础编程:冒泡排序和选择排序的另一种while循环实现
这篇文章介绍了Python中冒泡排序和选择排序的实现,提供了使用while循环的替代方法,并展示了排序算法的运行结果。
139 2
Python基础编程:冒泡排序和选择排序的另一种while循环实现
|
算法 Python
Python算法编程:冒泡排序、选择排序、快速排序
Python算法编程:冒泡排序、选择排序、快速排序
160 0
|
搜索推荐 算法 Python
Python教程:使用Python实现冒泡排序和快速排序
排序算法根据其实现原理和效率可以分为多种类型,包括冒泡排序、选择排序、插入排序、归并排序、快速排序等。这些算法在不同的场景下具有不同的优劣势,需要根据实际需求选择合适的算法。
290 3
|
Python
【Python 训练营】N_17 冒泡排序
【Python 训练营】N_17 冒泡排序
97 2
|
搜索推荐 数据可视化 Python
Python应用实战,用动画生成冒泡排序的过程
冒泡排序是一种简单的排序算法,它重复地遍历要排序的数列,一次比较两个元素,如果它们的顺序错误就把它们交换过来。遍历数列的工作是重复地进行直到没有再需要交换,也就是说该数列已经排序完成。
|
搜索推荐 Python
python实现冒泡排序、快速排序
python实现冒泡排序、快速排序
|
搜索推荐 Python
Python 冒泡排序:原理、使用场景与实现方法
本文主要介绍了Python 冒泡排序:原理、使用场景与实现方法
757 6
Python 冒泡排序:原理、使用场景与实现方法

推荐镜像

更多