[Java] Bubble Sort (泡沫排序)

阅读时间: 5分钟

Bubble Sort (泡沫排序)是一种简单的排序演算法。
它重複地走访过要排序的数列,一次比较两个元素,如果他们的顺序错误就把他们交换过来。
走访数列的工作是重複地进行直到没有再需要交换,也就是说该数列已经排序完成。

Bubble Sort (泡沫排序)可以原地排序。尽管这个演算法是最简单了解和实作的排序演算法之一,但它对于包含大量的元素的数列排序是很没有效率的。

泡沫排序演算法的运作如下:

比较相邻的元素。如果第一个比第二个大,就交换他们两个。对每一对相邻元素作同样的工作,从开始第一对到结尾的最后一对。这步做完后,最后的元素会是最大的数。针对所有的元素重複以上的步骤,除了最后一个。持续每次对越来越少的元素重複上面的步骤,直到没有任何一对数字需要比较。

例子:

public class BubbleSortExample {      static void bubbleSort(int[] arr) {          int n = arr.length;          int temp = 0;           for(int i=0; i < n; i++){                   for(int j=1; j < (n-i); j++){                            if(arr[j-1] > arr[j]){                                   //交换元素                                   temp = arr[j-1];                                   arr[j-1] = arr[j];                                   arr[j] = temp;                           }                                             }           }        }      public static void main(String[] args) {                  int arr[] ={3,60,35,2,45,320,5};                                   System.out.println("原来的次序");                  for(int i=0; i < arr.length; i++){                          System.out.print(arr[i] + " ");                  }                  System.out.println();                                    bubbleSort(arr);//利用泡沫排序                                 System.out.println("使用泡沫排序");                  for(int i=0; i < arr.length; i++){                          System.out.print(arr[i] + " ");                  }             }  }  

关于作者: 网站小编

码农网专注IT技术教程资源分享平台,学习资源下载网站,58码农网包含计算机技术、网站程序源码下载、编程技术论坛、互联网资源下载等产品服务,提供原创、优质、完整内容的专业码农交流分享平台。

热门文章