中国建设工程招标官方网站,如何用python做网站脚本语言,开发一套电商网站多少钱,跨境电商关键词工具冒泡排序 #xff08;稳定#xff09; O(n^2) (稳定#xff1a;表示相等的数#xff0c;相对位置会不会改变) 冒泡排序#xff08;Bubble Sort#xff09;是一种简单的排序算法#xff0c;它通过多次遍历待排序的元素#xff0c;比较相邻两个元素的大小并交换它们…冒泡排序 稳定 O(n^2) (稳定表示相等的数相对位置会不会改变) 冒泡排序Bubble Sort是一种简单的排序算法它通过多次遍历待排序的元素比较相邻两个元素的大小并交换它们从而将最大或最小的元素逐步移到最后。以下是 Python 中冒泡排序的实现
代码示例
list[1,4,3,9,8]
for i in range(0,len(list)-1):for j in range(0,len(list)-1-i):if list[j]list[j1]:list[j],list[j1]list[j1],list[j]
print(list)结果显示
我的理解 冒泡排序的思想相对简单可以通过以下方式进行简单理解 比较相邻元素 从数组的第一个元素开始依次比较相邻的两个元素。 交换元素位置 如果前面的元素比后面的元素大升序排序则交换它们的位置将较大的元素移到后面。 遍历整个数组 继续进行上述比较和交换的操作直到遍历整个数组。 一轮完成 这样一轮的操作之后数组中最大的元素已经被移到了最后。 重复操作 重复上述步骤每一轮都将数组中当前未排序的最大元素移到了正确的位置。 排序完成 当数组中不再存在需要交换的元素时排序完成。
示例理解
考虑数组 [64, 34, 25, 12, 22, 11, 90] 第一轮 比较并交换 64 和 34得到 [34, 64, 25, 12, 22, 11, 90]。比较并交换 64 和 25得到 [34, 25, 64, 12, 22, 11, 90]。…比较并交换 11 和 90得到 [34, 25, 12, 22, 11, 64, 90]。 第二轮 …比较并交换 11 和 64得到 [34, 25, 12, 22, 11, 64, 90]。 第三轮 …比较并交换 11 和 34得到 [25, 12, 22, 11, 34, 64, 90]。 以此类推最终得到有序数组 [11, 12, 22, 25, 34, 64, 90]。
虽然冒泡排序的性能相对较低但通过上述简单的比较和交换操作我们可以将较大的元素逐步“浮”到数组的末尾从而实现排序。