冒泡排序法

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了冒泡排序法相关的知识,希望对你有一定的参考价值。

参考技术A

方法一:每趟从第一个元素开始,依次与下一个元素比较,大的往下交换;

方法二:记录交换位置,可以省略下趟不必要的比较(如果后面几个元素已经是有序的,第二趟就直接不用比较这几个元素);

方法三:双向冒泡,正向找最大(从最小元素交换位置处开始比较,找到最大元素并记录交换位置),反向找最小(从最大元素交换位置处开始比较,找到最小元素并记录交换位

冒泡排序是比较基础的排序算法之一,其思想是相邻的元素两两比较,较大的数下沉,较小的数冒起来,这样一趟比较下来,最大(小)值就会排列在一端,整个过程如同气泡冒起,因此被称作冒泡排序。

冒泡法排序

      冒泡排序(Bubble Sort),是一种计算机科学领域的较简单的排序算法。
      它重复地走访过要排序的数列,一次比较两个元素,如果他们的顺序错误就把他们交换过来。走访数列的工作是重复地进行直到没有再需要交换,也就是说该数列已经排序完成。
这个算法的名字由来是因为越大的元素会经由交换慢慢“浮”到数列的顶端,故名。
//冒泡排序  从小到大
        
        int [] a = new int []{23,45,67,12,97,78,8,36};
             System.out.print("原始数据 ");
        for(int t : a)
        {
            System.out.print(t + " ");
        }
            System.out.println();
            //循环次数
            
            
        for (int j=0; j<a.length-1 ; j++){
                //前后比较循环
                
        
            
            for (int i =0; i< a.length-1-j; i++)
          {
            //比较前后元素的大小顺序
            if (a[i]>a[i+1])
            {
                //临时存放
                int b =a[i];
                
                a[i]=a[i+1];
                
                a[i+1]=b;
            }
            
        }
        System.out.print(j+1 + " 次循环 ");
        for(int t : a)
        {
            System.out.print(t + " ");
        }
        
        System.out.println();
            }
        
        
       

 

以上是关于冒泡排序法的主要内容,如果未能解决你的问题,请参考以下文章

JavaScript的冒泡法排序选择法排序

算法大神之路----排序(冒泡排序法)

JAVA 冒泡排序法的详细解释是啥?

php排序介绍_冒泡排序_选择排序法_插入排序法_快速排序法

数组的排序,冒泡法,快速排序法

冒泡排序法