起泡法排序
起泡法排序(Bubble Sort)是一种简单的排序算法,它重复地走访过要排序的数列,每次比较相邻的两个元素,如果顺序错误就交换它们的位置,直到没有任何一对数字需要交换位置为止。
具体步骤如下:
1.比较相邻的元素。如果第一个比第二个大,就交换它们两个; 2.对每一对相邻元素作同样的工作,从开始第一对到结尾的最后一对。这步完成后,最后的元素会是最大的数; 3.针对所有的元素重复以上的步骤,除了最后一个; 4.持续每次对越来越少的元素重复上面的步骤,直到没有任何一对数字需要比较为止。
优点:算法简单,容易实现。
缺点:排序速度较慢,时间复杂度为O(n^2),不适合大规模的数据排序。
示例代码(Python):
def bubble_sort(arr): n = len(arr) for i in range(n): # 用于标记本次循环是否有元素交换位置 flag = False for j in range(n-i-1): if arr[j] > arr[j+1]: arr[j], arr[j+1] = arr[j+1], arr[j] flag = True if not flag: break return arr
arr = [64, 34, 25, 12, 22, 11, 90] print(bubble_sort(arr)) # [11, 12, 22, 25, 34, 64, 90]
原文地址: http://www.cveoy.top/t/topic/l1j 著作权归作者所有。请勿转载和采集!