首页 > Java开发 > 冒泡排序 java 实现

冒泡排序 java 实现

冒泡排序的基本思想

将整个数组分成已排(右边)和未排(左边)两个部分,开始时已排部分为空,所有的成员都是未排,排序时,每次在未排的部分从左到右比较两个相邻的成员,如果左边成员大于右边成员,则二者交换。当一个成员被排到未排部分的最右边时,那么它就是未排部分的最大值。此时已排部分向左扩展一个成员,把最近排序的最大值包含进来。这样,已排部分逐渐增大,未排部分逐渐减小,直到未排部分只剩一个成员为止。

java 实现冒泡排序代码

  1. /**
  2.  * @author <a href="mailto:jrliwiscom@gmail.com">L.J.R</a>
  3.  */
  4. public class BubbleSort {
  5.     public static final int[] intArray = {4,2,6,1,3,5};
  6.     public static void main(String[] args) {
  7.         for (int i = intArray.length - 1; i > 0; i--) {
  8.             for(int j=1;j<=i;j++){
  9.                 if(intArray[j-1]>intArray[j]){
  10.                     int temp = intArray[j-1];
  11.                     intArray[j-1]=intArray[j];
  12.                     intArray[j] = temp;
  13.                 }
  14.             }
  15.             System.out.println("i="+i+" 的数组:");
  16.             printArray();
  17.         }
  18.         System.out.println("排序后的数组:");
  19.         printArray();
  20.     }
  21.     private static void printArray() {
  22.         for (int i = 0; i < intArray.length; i++) {
  23.             System.out.print(intArray[i]+"\t");
  24.         }
  25.         System.out.println();
  26.     }
  27. }

运行程序输出结果:

  1. i=5 的数组:
  2. 2   4   1   3   5   6
  3. i=4 的数组:
  4. 2   1   3   4   5   6
  5. i=3 的数组:
  6. 1   2   3   4   5   6
  7. i=2 的数组:
  8. 1   2   3   4   5   6
  9. i=1 的数组:
  10. 1   2   3   4   5   6
  11. 排序后的数组:
  12. 1   2   3   4   5   6

冒泡排序动画演示

请看如下链接的动画展示更形象:

本文固定链接: http://www.devba.com/index.php/archives/775.html | 开发吧

报歉!评论已关闭.