排序算法(python)

python实现冒泡排序(BubbleSort)

2020-12-08  本文已影响0人  阿旭123

python实现【冒泡排序】

算法原理介绍

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

算法过程描述

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

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

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

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

算法排序图解如下

冒泡.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实现方法

  1. 冒泡排序(BubbleSort)
  2. 选择排序(SelectionSort)
  3. 插入排序(InsertSort)
  4. 归并排序(MergeSort)
  5. 快速排序(QuickSort)
  6. 堆排序(Heap Sort)
  7. 计数排序(Count Sort)
  8. 桶排序(Bucket Sort)
  9. 基数排序(Radix Sort)
  10. 希尔排序(Shell Sort)
上一篇下一篇

猜你喜欢

热点阅读