Python实现冒泡法排序算法

冒泡法排序算是一个入门级的算法了,但在很多面试场合中会经常面试官拿来考面试者的,由于在实际工作中,很多算法都被封装为现成的可以直接使用的库了,相信有大部分人都忘记了一些算法的底层实现方式了。吾八哥也借着刚刚接触学习Python的机会,把常用的算法都用Python来实现一遍,今天这里分享的是冒泡法排序。

冒泡法排序原理

排序的原理是比较相邻的两个元素,如果顺序不对,就进行交换,一直这样交换到顺序正确为止。

Python实现冒泡法排序

根据排序原理,我们需要从头到尾的去比较相邻的两个元素的顺序然后进行交换,具体实现代码如下:

# Autor: 5bug
# WebSite: http://www.5bug.wang
# 吾八哥网技术交流QQ群: 643829693

#冒泡法排序
def BubbleSort(data=[]):
    for i in range(len(data))[::-1]:
        for j in range(i):
            if data[j] > data[j + 1]:
                data[j], data[j + 1] = data[j + 1], data[j]
    return data

data = [1, 6, 2, 3, 9, 1, 5, 4, 0]

print(BubbleSort(data))

执行结果为:

[0, 1, 1, 2, 3, 4, 5, 6, 9]

分享:

扫一扫在手机阅读、分享本文