JAVA氣泡排序Bubble sort
阿新 • • 發佈:2018-12-14
原理是相鄰的數字兩兩進行比較,按照從小到大或者從大到小的順序進行交換, 這樣一趟過去後,最大或最小的數字被交換到了最後一位, 然後再從頭開始進行兩兩比較交換,直到倒數第二位時結束
相關java程式碼:
public class MaoPao { public static void main(String[] args) { int[] array = { 1, 3, 9, 7, 5, 10, 2, 6, 8, 4 }; //第一種對資料進行氣泡排序 sort1(array); //第二種對資料進行氣泡排序 //sort2(array); //遍歷陣列 for (int k = 0; k < array.length; k++) { System.out.print(array[k]+" "); } } /** * 資料比較交換 * * @param array * 陣列 * @param x * 下標為x * @param y * 下標為y */ public static void swap(int[] array, int x, int y) { int temp = array[x]; array[x] = array[y]; array[y] = temp; } //氣泡排序方法1 public static void sort1(int[] array) { 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]) { swap(array, j,j + 1); } } } } //氣泡排序方法2 public static void sort2(int[] array) { for (int i = array.length; i >0; i--) { for (int j = 0; j < i - 1; j++) { //如果是正序就使用 > 如果是倒序就將 >改為 < if (array[j] > array[j + 1]) { swap(array, j,j + 1); } } } } }