核桃干貨 | Java算法之冒泡排序(超詳細(xì))

冒泡排序基本思想核心思想是從頭開始讓相鄰的兩個元素進(jìn)行比較,符合條件就交換位置,這樣就把最大值或者最小值放到數(shù)組的最后面了;接著再從頭開始兩兩比較交換,直到把最大值或者最小值放到數(shù)組的倒數(shù)第二位。(即不需要與最后一位數(shù)進(jìn)行對比).....以此類推,直到排序完成。
int[] array = {3,4,5,6,7};

代碼
public class BubbleSort {public static void main(String[] args) {//定義數(shù)組int[] array = {3,4,5,6,7};//從索引為0開始依次向后兩兩比較,總共比較4次for(int i = 0;i<4;i++) {if(array[i]int temp = array[i];array[i] = array[i+1];array[i+1] = temp;}}System.out.println("第一趟排序后:"+Arrays.toString(array));}}

//從索引為0開始依次向后兩兩比較,總共比較3次for(int i = 0;i<3;i++) {if(array[i]int temp = array[i];array[i] = array[i+1];array[i+1] = temp;}}System.out.println("第二趟排序后:"+Arrays.toString(array));

//從索引為0開始依次向后兩兩比較,總共比較2次for(int i = 0;i<2;i++) {if(array[i]int temp = array[i];array[i] = array[i+1];array[i+1] = temp;}}System.out.println("第三趟排序后:"+Arrays.toString(array));
//從索引為0開始依次向后兩兩比較,總共比較1次for(int i = 0;i<1;i++) {if(array[i]int temp = array[i];array[i] = array[i+1];array[i+1] = temp;}}System.out.println("第四趟排序后:"+Arrays.toString(array));
public class BubbleSort {public static void main(String[] args) {//定義數(shù)組int[] array = {3,4,5,6,7};//從索引為0開始依次向后兩兩比較for(int i = 0;iif(array[i]int temp = array[i];array[i] = array[i+1];array[i+1] = temp;}}System.out.println("第一趟排序后:"+Arrays.toString(array));//從索引為0開始依次向后兩兩比較,總共比較3次for(int i = 0;iif(array[i]int temp = array[i];array[i] = array[i+1];array[i+1] = temp;}}System.out.println("第二趟排序后:"+Arrays.toString(array));//從索引為0開始依次向后兩兩比較,總共比較2次for(int i = 0;iif(array[i]int temp = array[i];array[i] = array[i+1];array[i+1] = temp;}}System.out.println("第三趟排序后:"+Arrays.toString(array));//從索引為0開始依次向后兩兩比較,總共比較1次for(int i = 0;iif(array[i]int temp = array[i];array[i] = array[i+1];array[i+1] = temp;}}System.out.println("第四趟排序后:"+Arrays.toString(array));}}
public class BubbleSort {public static void main(String[] args) {//定義數(shù)組int[] array = {3,4,5,6,7};System.out.println("排序前的內(nèi)容:"+Arrays.toString(array));for(int j = 0;j//j:0,1,2,3//i = 0:表示每次都從索引為0的開始,向后兩兩比較for(int i = 0;i//內(nèi)層循環(huán),每趟執(zhí)行的次數(shù),‐1為了防止索引越界,‐j為了提高效率if(array[i]int temp = array[i];array[i] = array[i+1];array[i+1] = temp;}}}System.out.println("排序后的內(nèi)容:"+Arrays.toString(array));}}
評論
圖片
表情
