【狂神說Java學習筆記】階段一JavaSE基礎(九)氣泡排序
阿新 • • 發佈:2020-08-11
筆記內容:狂神說Java階段一Java基礎視訊P58
狂神說Java視訊連結
目錄
程式碼
int[] arrays = {4,2,3,1}; int[] sortArray = sort(arrays); System.out.println(Arrays.toString((sortArray))); public static int[] sort(int[] array) { int temp = 0; //外層迴圈:大迴圈的次數 for (int i = 0; i < array.length-1; i++) { //內層迴圈:數與數之間的比較次數 for (int j = 0; j < array.length-1-i; j++) { if ( array[j] > array[j+1] ) { temp = array[j]; array[j] = array[j+1]; array[j+1] = temp; } } } return array; }
程式碼解釋:
外層最多迴圈三次,最小的數就一定能迴圈到排序位置的首位。
同理,內層只用依次迴圈3、2、1次,最大的數就一定能排到排序位置的最高位,因此下一次迴圈就沒必要再迴圈最後一個數和倒數第二個數,所以每次數與數之間比較的次數要減少1(j的array.length-1-i
就是這個作用,因為i每次增加1,相當於j每次都多減了1,即每次數與數之間的比較的次數就減少了1),即並不是每次都完全把所有的數便利了一遍。