首页 > 编程语言 > 详细

037-冒泡排序

时间:2018-06-15 18:54:48      阅读:221      评论:0      收藏:0      [点我收藏+]

1、冒泡排序。

2、算法过程。

  (1)、a[0] 与 a[1],a[2],...,a[length-1] 比较。表示数组第一个元素与【数组第二个元素到最后一个元素】比较一趟。比较次数为:length-1。

  (2)、a[1] 与 a[2],a[3],...,a[length-1] 比较。表示数组第二个元素与【数组第三个元素到最后一个元素】比较一趟。比较次数为:length-2。

  (3)、a[i] 与 a[i+1],a[i+2],...,a[length-1] 比较。表示数组第i个元素与【数组第i+1个元素到最后一个元素】比较一趟。比较次数为:length-i-1。

  (4)......

  (5)、a[length-2] 与 a[length-1] 比较。表示数组第length-2 个元素与【数组最后一个元素】比较一趟。比较次数为:length-1。比较次数为:1。

/*
算法描述:
1、举例说明,有一个数组元素依次为:5、4、3、2、1
该算法将外循环下标索引控制在0~4,内循环下标索引控制1~4
先将a[0]元素与a[1]、a[2]、a[3]、a[4]比较大小:
3、5、4、2、1
2、5、4、3、1
1、5、4、3、2 --->>结果是获得第1最小,比较4次
然后将a[1]与a[2]、a[3]、a[4]比较大小:
1、4、5、3、2
1、3、5、4、2
1、2、5、4、3 --->>结果是获得第2最小,比较3次
然后将a[2]与a[3]、a[4]比较大小:
1、2、4、5、3
1、2、3、5、4 --->>结果是获得第3最小,比较2次
然后将a[3]与a[4]比较大小:
1、2、3、4、5 --->>结果是获得第4最小,比较1次


当问题规模为n时,即当有n个数据比较时,则会执行1+2+....+(n-1),即:n*(n-1)/2次比较。
即时间复杂度是: O(n^2) -->>平方阶
*/

3、算法实现。

技术分享图片

 

037-冒泡排序

原文:https://www.cnblogs.com/igoodful/p/9188621.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!