Java之氣泡排序與選擇排序的區別與理解
阿新 • • 發佈:2019-02-06
Java之選擇排序與氣泡排序的區別與理解
選擇排序
選擇排序:就是每次從一組待排序的陣列中找到最小值(或最大值)然後與該序列的起始位置進行替換,以此類推,直到待排序的陣列排序好為止。
選擇排序程式碼:
public class SelectionSort { public static void main(String[] args) { int[] myArray = {18,91,38,77,36,55,74,30,2,41}; System.out.println("排序前的陣列為:"); for(int i=0;i<myArray.length;i++) { System.out.print(myArray[i]+" "); } //選擇排序演算法 for(int i=0;i<myArray.length;i++) { for(int j=i+1;j<myArray.length;j++) { int min = myArray[i]; if(min>myArray[j]) { int temp = myArray[i]; myArray[i] = myArray[j]; myArray[j] = temp; } } } System.out.println(); System.out.println("排序後的陣列為:"); for(int i=0;i<myArray.length;i++) { System.out.print(myArray[i]+" "); } } }
氣泡排序
氣泡排序:就是每趟從待排序的陣列中比較相鄰兩個數字的大小,將數字小的放在前面,數字大的放在後面;重複第一趟的操作,直到完成排序為止。
氣泡排序程式碼:
public class BubbleSort { public static void main(String[] args) { int[] myArray = {18,91,38,77,36,55,74,30,2,41}; System.out.println("排序前的陣列為:"); for(int i=0;i<myArray.length;i++) { System.out.print(myArray[i]+" "); } //氣泡排序演算法 for(int i=0;i<myArray.length-1;i++) { for(int j=0;j<myArray.length-1-i;j++) { if(myArray[j]>myArray[j+1]) { int temp = myArray[j]; myArray[j] = myArray[j+1]; myArray[j+1] = temp; } } } System.out.println(); System.out.println("排序後的陣列為:"); for(int i=0;i<myArray.length;i++) { System.out.print(myArray[i]+" "); } } }