冒泡排序

冒泡排序:

對未排序的數(shù)組中的元素從頭到尾依次比較相鄰的兩個元素,若第前一個元素大于后面一個元素那么就交換兩個元素

的位置,經(jīng)過一輪的比較,那么最大的那個元素,會存到數(shù)組的最后一位,每比較一次就會有一個正確的數(shù)字放到正確的位置

例如: 6,4,9,1,3 --> 升序

4,6,1,3,9 -->一輪排序

4,1,3,6,9 -->二輪排序

1,3,4,6,9 --> 三輪排序

1,3,4,6,9 --> 四輪排序

1,3,4,6,9 --> 五輪排序

public class MaoPaoSortArray { 
    public static void main(String[] args) {
        //創(chuàng)建數(shù)組 
        int[] arr = new int[10];
        //向數(shù)組中隨機存儲0-100之間的值 
        for(int i = 0; i<arr.length;i++) { 
            arr[i] = (int)(Math.random()*100);
        }
        //打印沒有排序之前數(shù)組值 
        //對數(shù)組進行排序操作
        //1.數(shù)組中所有的元素都需要進行一次比較,所以通過循環(huán)滿足每一個元素比較 
        for(int i = 0 ;i<arr.length;i++) { 
            //控制比較次數(shù)
            //arr.length-1的目的是為了方式數(shù)組下標越界異常 原因在于 j+1 會到大數(shù)組的長度 
            //-i隨著比較次數(shù)的逐漸增多,每一次都會有一個正確數(shù)放到正確的位置,那么通過-i操作
            //減少當前需要排序的元素個數(shù) 
            for(int j = 0; j<arr.length-1-i;j++) {
                //具體元素的比較 
                if(arr[j] > arr[j+1]) { 
                    //交換 
                    int tmp = arr[j]; 
                    arr[j] = arr[j+1]; 
                    arr[j+1] = tmp; }
            }
            System.out.print("第"+(i+1)+"次排序的結(jié)果:\t"); 
            for(int m = 0;m<arr.length;m++) { 
                System.out.print(arr[m]+"\t");
            }
           System.out.println(); 
        } 
    }
}
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容