`
lvwenwen
  • 浏览: 930729 次
  • 性别: Icon_minigender_1
  • 来自: 魔都
社区版块
存档分类
最新评论

排序算法分析之冒泡排序

阅读更多

冒泡排序(Bubble Sort)是一种简单的排序算法。它重复地走访过要排序的数列,一次比较两个元素,如果他们的顺序错误就把他们交换过来。走访数列的工作是重复地进行直到没有再需要交换,也就是说该数列已经排序完成。这个算法的名字由来是因为越小的元素会经由交换慢慢“浮”到数列的顶端。
  冒泡排序算法的运作如下:
比较相邻的元素。如果第一个比第二个大,就交换他们两个。
对每一对相邻元素作同样的工作,从开始第一对到结尾的最后一对。在这一点,最后的元素应该会是最大的数。
针对所有的元素重复以上的步骤,除了最后一个。
持续每次对越来越少的元素重复上面的步骤,直到没有任何一对数字需要比较。


原文链接: http://www.cnblogs.com/wuzhenbo/archive/2012/03/30/2423861.html 

public class BubbleSort{
        public static void main(String[] args){
            int score[] = {667, 69, 755, 867, 589, 950, 929, 1300};
            for (int i = 0; i < score.length -1; i++){    //最多做n-1趟排序
                for(int j = 0 ;j < score.length - i - 1; j++){    //对当前无序区间score[0......length-i-1]进行排序(j的范围很关键,这个范围是在逐步缩小的)
                    if(score[j] < score[j + 1]){    //把小的值交换到后面
                       int temp = score[j];
                        score[j] = score[j + 1];
                        score[j + 1] = temp;
                   }
               }            
               System.out.print("第" + (i + 1) + "次排序结果:");
               for(int a = 0; a < score.length; a++){
                   System.out.print(score[a] + "\t");
              }
               System.out.println("");
           }
              System.out.print("最终排序结果:");
              for(int a = 0; a < score.length; a++){
                   System.out.print(score[a] + "\t");
          }
      }
   }
 

 

分享到:
评论

相关推荐

    算法设计与分析-1排序算法性能分析-冒泡/选择/插入/合并/快速排序-pre ppt

    选择排序 冒泡排序 插入排序 合并排序 快速排序算法原理及代码实现 不同排序算法时间效率的经验分析方法 验证理论分析与经验分析的一致性 当面临巨大数据量的排序的时候,还是优先选择合并排序算法和快速排序算法。...

    python数据结构与算法分析,冒泡排序法实现,冒泡排序.py

    python数据结构与算法分析,冒泡排序法实现

    java基础 经典算法之冒泡排序详解

    1.冒泡排序的原理:每次都从第一个元素开始(索引0),向后两两比较,只要后面的比前面的大,就交换(从大到小) 2.通过画图分析,5个数字排4趟,n数字排n-1趟,而外层的for循环代表的是循环的趟数,所以外层循环的结束条件是...

    冒泡排序算法原理讲解

    该 ppt 为课程讲义,讲解冒泡排序算法原理,及用一个简单实例进行具体分析,还有冒泡排序算法原理的总结等。

    冒泡排序的算法分析与改进.txt

    冒泡排序的算法分析与改进.txt 冒泡排序的算法分析与改进.txt

    常用排序算法分析与实现(Java版)

    用java对常用排序算法进行分析与实现.包含: 插入排序 直接插入排序、希尔排序 • 选择排序 简单选择排序、堆排序 • 交换排序 冒泡排序、快速排序 • 归并排序 • 基数排序

    C语言冒泡、插入法、选择排序算法分析

    C语言排序中的各种方法(冒泡、插入法、选择排序等)算法分析

    快速、冒泡排序算法比较

    试通过随机数据比较快速排序、起泡排序各算法的关键字比较次数和关键字移动次数。 (1)待排序表的表长不小于100;其中的数据要用伪随机数产生程序产生;... (3)对冒泡排序应指出进行了多少趟。

    论文研究-冒泡排序及其改进算法的分析与比较 .pdf

    冒泡排序及其改进算法的分析与比较,曾希君,,冒泡排序算法是大家最为熟悉的排序算法之一,传统的冒泡排序算法过程很简单,并广泛应用于现在的教学及科研中,传统冒泡排序算法

    算法设计与分析-排序算法性能分析-要求pdf 报告文档 c++源代码 preppt

    算法设计与分析-排序算法性能分析大礼包 包括题目要求pdf,报告文档,c++源代码,pre ppt 选择排序 冒泡排序 插入排序 合并排序 快速排序算法原理及代码实现 不同排序算法时间效率的经验分析方法 验证理论分析与经验...

    用C实现了排序算法中的插入排序、选择排序、冒泡排序、希尔排序、归并排序、快速排序、桶排序、基数排序

    在这份文档中,我用C语言实现了排序算法的多种方法,包括插入排序、选择排序、冒泡排序、希尔排序、归并排序、快速排序、桶排序和基数排序。这些算法可以帮助我们对数据进行有效的排序和整理,以便更好地处理和分析...

    JAVA冒泡排序算法

    冒泡排序算法详细分析那还等hi实地阿基hihi大UI一及对阿迪年hiue一群

    算法设计与分析-排序算法源代码

    算法设计与分析-排序算法c++源代码 仅做参考,copy冲查重塔峰 选择排序 冒泡排序 插入排序 合并排序 快速排序算法原理及代码实现 不同排序算法时间效率的经验分析方法 验证理论分析与经验分析的一致性 void Init_...

    Java排序算法总结之冒泡排序

    主要介绍了Java排序算法总结之冒泡排序,较为详细的分析了冒泡排序的原理与java实现技巧,需要的朋友可以参考下

    各种排序算法的详细分析

    此为一个利用Java语言编写的排序分析程序,程序中统计了各种排序算法(冒泡排序、选择排序、插入排序、希尔排序、快速排序、堆排序、归并排序、基数排序)的分析,ppt中包含各种排序算法的分析,附上动画演示(来自...

    数据结构与算法之冒泡排序pta:基于C语言的编程实践与测试

    本资源是一本数据结构与算法之冒泡排序pta的编程实践与测试教程,旨在通过C语言这一高效的编程语言,来实现和测试冒泡排序算法,涵盖了冒泡排序的原理、方法、代码、优化、复杂度等内容,以及冒泡排序的实际应用和...

    数据结构经典排序算法之比较

    排序的基本概念以及其算法的种类,介绍几种常见的排序算法的算法:冒泡排序、选择排序、插入排序、归并排序、快速排序、希尔排序的算法和分析它们各自的复杂度,然后以表格的形式,清晰直观的表现出它们的复杂度的...

    多种排序算法效率分析

    1、通过修改程序,实现程序在要求的数据量下求出以下六种内部排序算法的移动次数和比较次数:直接插入排序、希尔排序、冒泡排序、快速排序、选择排序、堆排序。 2、输入的数据量分别按照正序、逆序、随机顺序的不同...

    用C编写的冒泡排序算法

    用C编写的冒泡排序算法:#include void main() { int i=0,j=0,t; int a[10]; for(i=0;i;i++) scanf("%d",&a[i]); for(i=0;i;i++) for(j=0;j;j++) if(a[j]&gt;a[j+1]) {t=a[j]; a[j]=a[j+1]; a[j+1]=t;} for...

    一般排序算法测试程序

    c) 冒泡排序; d) 快速排序; e) 简单选择排序; f) 堆排序; g) 归并排序; h) 基数排序(选作); i) 其他; 具体要求如下: a) 测试数据分出三类:正序,逆序,随机数据; b) 对于这三类数据,比较上述排序算法中...

Global site tag (gtag.js) - Google Analytics