
冒泡排序是一种基本的排序算法,它的核心思想是将待排序的元素逐个比较并交换相邻的元素,让较大的元素逐渐“冒泡”到列表的末尾,较小的元素逐渐“沉底”到列表的开头。下面我们详细讲解一下Python的冒泡排序实现过程。
Python冒泡排序的实现步骤如下:
-
遍历待排序的列表,对于每个元素,比较它和它后面一个元素的大小关系。
-
如果前一个元素大于后一个元素,则交换它们的位置,使较大的元素逐渐向后“冒泡”。
-
继续遍历列表,重复上述比较和交换的过程,直到整个列表都被排序完成。
-
返回排序后的列表。
代码实例:
def bubble_sort(arr):n = len(arr)# 控制已排序元素的个数for i in range(n):# 遍历未排序的元素,进行比较和交换for j in range(0, n-i-1):if arr[j] > arr[j+1]:arr[j], arr[j+1] = arr[j+1], arr[j]return arrlist1 = [1,9,2,8,7,6,3,4]print(bubble_sort(list1))
代码讲解:
上面的代码中,arr是待排序的列表,n是列表的长度。i表示已排序的元素个数,每次循环都从第一个元素开始比较相邻的两个元素,如果它们的顺序不对则交换它们的位置,然后继续比较下一组相邻的元素,重复上述过程,直到所有元素都被排序为止。
这里使用两个循环,外层循环用来控制已排序元素的个数,内层循环用来比较相邻的元素并交换它们的位置。在内层循环中,我们用j来遍历所有未排序的元素,如果相邻的两个元素顺序不对则交换它们的位置,直到所有未排序的元素都被遍历过为止。
最后,该函数返回已排序的列表arr。在这个过程中,算法的时间复杂度为O(n^2),空间复杂度为O(1)。虽然冒泡排序的时间复杂度比其他高级排序算法要高,但是它非常简单,容易实现,并且对小规模数据排序效果较好
功能测试为什么要尽早转型测试开发?
只会功能测试,找工作会越来越难,即使找到了工作,可能依旧是手工测试,工资不高,还非常辛苦!并且如果只会功能测试工作到一定年限后(通常是 35 岁以后),甚至将面临无工作可找的境地,将被行业淘汰,难道我们到了35就自甘转行吗?所有的路都要提前想到才能在未来发生困难之时不至于被动落魄的被淘汰。
其次,从企业招聘来讲,现在几乎所有企业招聘测试,都要求具备一定的代码能力、自动化测试的能力、性能测试的能力,如果你不会写代码,不会自动化,不会性能测试,不会搭建CICD持续交付能力,那你基本就丧失了找到好工作的机会;基本上三线以上的互联网公司都已经把编程和自动化作为必要的技能。所以转型测试开发/自动化与否我觉得你一定有了自己的答案,35岁的功能测试和35岁的测试开发
今天的分享就到此结束了, 如果文章对你有帮助,记得点赞,收藏,加关注。会不定期分享一些干货哦......
最后感谢每一个认真阅读我文章的人,看着粉丝一路的上涨和关注,礼尚往来总是要有的,虽然不是什么很值钱的东西,如果你用得到的话可以直接拿走:

这些资料,对于从事【软件测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴我走过了最艰难的路程,希望也能帮助到你!凡事要趁早,特别是技术行业,一定要提升技术功底。希望对大家有所帮助……如果你不想再体验一次自学时找不到资料,没人解答问题,坚持几天便放弃的感受的话,可以加入下方我们的测试交流群大家一起讨论交流学习。

文章介绍了Python实现冒泡排序的详细步骤和代码示例,强调冒泡排序的基本思想和效率。同时,文章指出功能测试人员应尽早转型为测试开发,因为现代企业更倾向于招聘具备自动化测试、性能测试和代码能力的测试人员,以适应行业需求和发展。
16万+

被折叠的 条评论
为什么被折叠?



