龙空技术网

十大排序算法(一)--- 冒泡排序

早已毕业 313

前言:

此时朋友们对“冒泡排序算法简单例子”大概比较关心,兄弟们都想要分析一些“冒泡排序算法简单例子”的相关文章。那么小编也在网上网罗了一些有关“冒泡排序算法简单例子””的相关内容,希望姐妹们能喜欢,你们一起来了解一下吧!

十大排序算法(一)--- 冒泡排序

对数据进行排序是我们在软件开发过程中经常碰到的问题,也是学习算法时必学的算法。本文介绍冒泡排序算法。

冒泡排序是排序算法中最简单的一种,它重复地走访剩余要排序的元素,比较相邻元素,若相邻元素顺序不对,则交换,直到排序完成。冒泡排序是稳定的,由于需要两层循环,因此冒泡排序的时间复杂度为O(n)。但是冒泡排序不需要额外申请内存空间,比较节省内存。

我们假定,有个5个元素的数组【5,2,6,3,0】, 我们需要对其进行从小到大排序,下图展示了冒泡排序的全过程。总共进行了4轮排序,最终完成了从小到大排序。

冒泡法排序过程

下面是pyhton代码的具体实现。代码比较简单。对于算法初学者,可以参考。有兴趣也可以使用其它语言自己实现一下。

A = [9,12,3,6,4,0,7,9,11,2,8,9,0,1,3,1,10,10,23]

def bubble_sorting(data):

n = len(data)

for i in range(0, n):

for j in range(0, n - i - 1):

if data[j] > data[j+1]:

data[j], data[j+1] = data[j+1], data[j]

def main():

#Ascending

bubble_sorting(A)

print(A)

if __name__=='__main__':

main()

将上面的代码保存到一个文本文件,后缀名修改为.py。可以用python解释器执行一下,会输出如下结果:

运行结果

可以看到,排序正确。

标签: #冒泡排序算法简单例子