Java冒泡排序示例

冒泡排序就是將相鄰的兩個數比較,將較小值或較大者放到前面。
**分析**
int [] number = {9,7,3,1,6};

**第一趟循環開始**
第1次比較結果
{7,9,3,1,6}2次比較結果
{7,3,9,1,6}3次比較結果
{7,3,1,9,6}4次比較結果
{7,3,1,6,9} //第一趟循環完成,最大值9比較出來了,排在最後

**第二趟循環開始**
第5次比較結果
{3,7,1,6,9}6次比較結果
{3,1,7,6,9}7次比較結果
{3,1,6,7,9}//第二天循環完成,第二大值7比較出來了

**第三趟循環開始**
第8次比較結果
{1,3,6,7,9}//排序完成了

//代碼示例
public static void main(String[] args) {
        int [] n = {9,7,3,1,6};
        int temp = 0;//存儲臨時值
        int number = 0;
        for(int i=0;i<n.length-1;i++){//外層for比較循環的趟數 n.length-1 爲每次
            for(int j=0;j<n.length-i-1;j++){//內層for爲每一趟比較次數,循環第一趟將
                if(n[j]>n[j+1]){
                    temp = n[j+1];//將兩者中較小的值複製給臨時變量
                    n[j+1] = n[j];//然後將較大值賦值給第二個數
                    n[j] = temp;//將較小值賦值到第一個數
                    number++;//比較次數             
            }
            }

        }

        System.out.println("number = "+number);
        for(int i=0;i<n.length;i++){
            System.out.println("冒泡排序後結果 :"+n[i]);
        }

    }
}


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章