首页 > 代码库 > 冒泡排序
冒泡排序
算法思想:
遍历序列,当前元素比前一元素小时,交换他们,这样一次遍历之后,最大元素出现在序列尾端,遍历n次之后序列即为有序序列。
算法实现:
1 BUBBLE_SORT(A) 2 n = length of A 3 end = n-2 4 5 while end > 0 6 do 7 pos = -1 //最后一次交换的位置 8 9 for i = 0, end 10 do 11 if A[i] > A[i+1] then12 swap A[i] A[i+1]13 pos = i14 end = pos
算法性能:
平均:O(n^2)
最差:O(n^2)
最优:O(n)
使用场景:
冒泡排序的性能表现较差,虽然与插入排序相比时间复杂度均为O(n^2),但其在实现过程中含有大量的数据移动操作,因此其性能表现甚至无法和插入排序相比。但在对基本有序的序列进行排序时,其性能表现与插入排序相仿。
STL实现:
stl中貌似没有使用冒泡算法。
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。