5.冒泡排序

3人阅读 评论(0) 收藏 举报
分类:

. 冒泡排序(BubbleSort)


1.   基本思想:两个数比较大小,较大的数下沉,较小的数冒起来。

2.   过程:

1.     比较相邻的两个数据,如果第二个数小,就交换位置。

2.     从后向前两两比较,一直到比较最前两个数据。最终最小数被交换到起始的位置,这样第一个最小数的位置就排好了。

3.     继续重复上述过程,依次将第2.3...n-1个最小数排好位置。

冒泡排序

3.   平均时间复杂度:O(n2)

java代码实现:

优化:

0.   针对问题:
数据的顺序排好之后,冒泡算法仍然会继续进行下一轮的比较,直到arr.length-1次,后面的比较没有意义的。

1.   方案:
设置标志位flag,如果发生了交换flag设置为true;如果没有交换就设置为false
这样当一轮比较结束后如果flag仍为false,即:这一轮没有发生交换,说明数据的顺序已经排好,没有必要继续进行下去。

2.  publicstaticvoidBubbleSort1(int[] arr){

3.   

4.     int temp;//临时变量

5.     boolean flag;//是否交换的标志

6.     for(int i=0; i<arr.length-1; i++){   //表示趟数,一共arr.length-1次。

7.   

8.         flag =false;

9.         for(int j=arr.length-1; j>i; j--){

10.  

11.            if(arr[j]< arr[j-1]){

12.                temp = arr[j];

13.                arr[j]= arr[j-1];

14.                arr[j-1]= temp;

15.                flag =true;

16.            }

17.        }

18.        if(!flag)break;

19.    }

}

查看评论

源程序给出了插入排序、选择排序、希尔排序、堆排序、冒泡、双向冒泡、快速排序、归并排序、递归的归并排序、基数排序等多种排序算法,其中有17处需要填空。

  • 2010年12月15日 19:46
  • 144KB
  • 下载

选择+冒泡+折半查找与排序

  • 2009年04月24日 23:54
  • 1.65MB
  • 下载

【排序算法】冒泡排序原理及Java实现

冒泡排序顾名思义就是整个过程像气泡一样往上升,单向冒泡排序的基本思想是(假设由小到大排序):对于给定n个记录,从第一个记录开始依次对相邻的两个记录进行比较,当前面的记录大于后面的记录时,交换位置,进行...
  • jianyuerensheng
  • jianyuerensheng
  • 2016-04-26 21:26:11
  • 9081

排序算法之 冒泡排序 及其时间复杂度和空间复杂度

冒泡排序算法是所有排序算法中最简单的(前面也提到过),在生活中应该也会看到气泡从水里面出来时,越到水面上气泡就会变的越大。在物理上学气压的时候好像也看到过这种现象;其实理解冒泡排序就可以根据这种现象来...
  • YuZhiHui_No1
  • YuZhiHui_No1
  • 2015-03-17 11:46:06
  • 16657

冒泡排序算法及其优化

冒泡排序 1、介绍: 冒泡排序和选择排序的思想是蛮力法,冒泡,顾名思义,每次选择后面一个元素(最大或者最小)冒上来,从而得到一个有序的序列。比如对于序列:10、8、5、7、3、1的冒泡第一趟演示图示...
  • diaoaa
  • diaoaa
  • 2014-03-29 13:20:51
  • 3520

几种常用的排序算法的分析及java实现(希尔排序,堆排序,归并排序,快速排序,选择排序,插入排序,冒泡排序)

最近决定每天学点数据结构与算法,写博客来督促自己继续学习~ 以下的每个排序的写法格式基本按照先介绍基本思想,再描述具体过程,最后是具体代码。关于复杂度等问题后续更新。如有写的不严谨的地方,欢迎指出,...
  • zouliping123
  • zouliping123
  • 2013-04-25 15:10:21
  • 2074

冒泡排序C# 冒泡排序

  • 2011年04月20日 08:30
  • 15KB
  • 下载

数据结构 各种排序算法

  • 2010年12月20日 22:57
  • 115KB
  • 下载

冒泡排序

  • 2010年05月25日 15:17
  • 576B
  • 下载

排序代码实现

  • 2014年08月13日 21:19
  • 564KB
  • 下载
    个人资料
    持之以恒
    等级:
    访问量: 6082
    积分: 685
    排名: 7万+
    博客专栏
    更多内容
    更多知识分享交流尽在个人微信公众号 java一号
    文章存档
    最新评论