码迷,mamicode.com
首页 > 其他好文 > 详细

冒泡排序

时间:2014-07-16 18:24:15      阅读:151      评论:0      收藏:0      [点我收藏+]

标签:style   blog   color   使用   os   数据   

算法思想:

遍历序列,当前元素比前一元素小时,交换他们,这样一次遍历之后,最大元素出现在序列尾端,遍历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] then
12                 swap A[i] A[i+1]
13                 pos = i
14         end  = pos

 

算法性能:

平均:O(n^2)

最差:O(n^2)

最优:O(n)

使用场景:

冒泡排序的性能表现较差,虽然与插入排序相比时间复杂度均为O(n^2),但其在实现过程中含有大量的数据移动操作,因此其性能表现甚至无法和插入排序相比。但在对基本有序的序列进行排序时,其性能表现与插入排序相仿。

STL实现:

stl中貌似没有使用冒泡算法。

冒泡排序,布布扣,bubuko.com

冒泡排序

标签:style   blog   color   使用   os   数据   

原文地址:http://www.cnblogs.com/stormli/p/bubble_sort.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!