程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> JAVA編程 >> 關於JAVA >> Java冒泡排序(Bubble Sort)實例講授

Java冒泡排序(Bubble Sort)實例講授

編輯:關於JAVA

Java冒泡排序(Bubble Sort)實例講授。本站提示廣大學習愛好者:(Java冒泡排序(Bubble Sort)實例講授)文章只能為提供參考,不一定能成為您想要的結果。以下是Java冒泡排序(Bubble Sort)實例講授正文


舉個例子:int[] array = {2,4,9,7,6,5};

第一輪2和4停止比擬,2<4,地位不變。再4和9停止比擬,4<9,地位不變。再9和7停止比擬,9>7,9和7的地位交換。再9和6停止比擬,9>6,9和6的地位交換。再9和5停止比擬,9>5,地位交換。第一輪比擬的成果就是2 4 7 6 5 9。

第二輪2和4停止比擬,2<4,地位不變。再4和7停止比擬,4<7,地位不變。再7和5停止比擬,7>6,7和6的地位交換。再7和5停止比擬,7>5,7和5的地位交換。第二輪的成果就是2 4 6 5 7 9。

第三輪2和4停止比擬,2<4,地位不變。再4和6停止比擬,4<6,地位不變。再6和5停止比擬,6>5,6和5的地位交換。第三輪的成果是2 4 5 6 7 9(曾經是我們想要的成果了)。

代碼以下:


package com.test;

public class BubbleSortTest
{
    public static void main(String[] args)
    {
        int[] array = {2,4,9,7,6,5};
        BubbleSortTest bst = new BubbleSortTest();
        bst.bubbleSort(array);
    }

    public int[] bubbleSort(int[] array)
    {
        for(int i=0;i<array.length-1;i++)
        {
            boolean bl = true;
            for(int j=0;j<array.length-1-i;j++)
            {
                if(array[j] > array[j+1])
                {
                    bl = false;
                    int temp = array[j];
                    array[j] = array[j+1];
                    array[j+1] = temp;
                }              
            }

            //假如當輪沒有產生地位變更,解釋曾經排序終了,就沒有需要再停止斷定了
            if(bl)
            {
                break;
            }

            /*--不雅看成果的代碼,可以疏忽---------------------*/
            System.out.println("第" + (i + 1) + "趟排序");
            for(int k = 0; k < array.length; k++)
            {
                System.out.print(array[k] + " ");
            }
            System.out.println();
            /*-------------------------------------*/

        }
        return array;
    }

}

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved