ソートアルゴリズム-バブルソート(Bubble Sort)

5427 ワード

package com.wangzhu.sort;

/**

 *  

* @ClassName: BubbleSort 

* @Description: TODO

* @author wangzhu

* @date 2013-8-12  10:37:28 

*

 */

public class BubbleSort {



    /**

     * @param args

     */

    public static void main(String[] args) {

        int[] arr1 = new int[]{10,9,8,7,6,5,4,3,2,1};

        sort(arr1);

        int[] arr2 = new int[]{1,2,3,4,5,6,7,8,9,10};

        sort(arr2);

        int[] arr3 = new int[]{1,1,1,2,2,3,3,3,4,5};

        sort(arr3);

        int[] arr4 = new int[]{2,2,1,3,1,1,1,2,3,3,2};

        sort(arr4);

        int[] arr5 = new int[]{11,-9,-8,17,-6,51,14,31,42,51};

        sort(arr5);

        int[] arr6 = new int[]{-1,-2,-3,-4,-5,-6,-7,-8,-9,-10};

        sort(arr6);

        int[] arr7 = new int[]{-1,-1,-1,-2,-2,-3,-3,-3,-4,-5};

        sort(arr7);

        int[] arr8 = new int[]{2,2,1,2,3,4,5,6,8,9,10,10,10};

        sort(arr8);

        

    }



    /**

     *  : 

     * @param arr

     */

    public static void sort(int[] arr){

        for(int i = 0 ,len = arr.length; i < len;i ++){

            boolean isSort = true;// , , 

            //

            for(int j = len - 1;j  > i; j--){

                //

                if(arr[j - 1] > arr[j]){

                    int temp = arr[j - 1];

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

                    arr[j] = temp;

                    isSort = false;

                }

            }

            if(isSort){

                break;

            }

        }

        show(arr);

    }



    private static void show(int[] arr) {

        for(int num:arr){

            System.out.print(" " + num);

        }

        System.out.println("===============");

    }

}

バブルソートアルゴリズムの定義に基づいて、簡単に実現しました.参考までに、間違いがあれば、指摘してください.ありがとうございます.