用java實現氣泡排序和選擇排序
阿新 • • 發佈:2018-12-17
氣泡排序:依次比較兩個相鄰的元素,將值大的元素交換至右端,一輪比較過後,最大的元素在最右端。
public class BubbleSort { public static void main(String[] args) { int[] arr={11,2,223,3,42,9,};//隨意定義個數組,測試 BubbleSort(arr); } public static void BubbleSort(int arr[]){ for(int i=0;i<arr.length-1;i++){ for(int j=0;j<arr.length-1-i;j++){ int x;//定義中間變數,用於之後的兩變數值交換 if(arr[j]>arr[j+1]){ //將值大的放到右邊 x=arr[j+1]; arr[j+1]=arr[j]; arr[j]=x; } } } //遍歷陣列 for(int i=0;i<arr.length;i++){ System.out.print(arr[i]+"\t"); } } }
控制檯結果:
選擇排序:依次比較第一個數與剩下數的大小,小的數與第一個數交換位置,一輪過後,最小的數在最右端;第二輪比較第二個數與剩下的數的大小,小的數與第二個數交換位置,一直進行下去,直至最後一個數。
public class QuickSort { public static void main(String[] args) { int[] arr={345,2,34,23,12,42,4};//隨意定義一個數組進行測試 QuickSort(arr); } public static void QuickSort(int[] arr){ for(int i=0;i<arr.length-1;i++){ for(int j=i+1;j<arr.length;j++){ int x;//中間變數,方便進行兩數值交換 if(arr[i]>arr[j]){ //進行比較,該條件成立則交換位置 x=arr[i]; arr[i]=arr[j]; arr[j]=x; } } } //遍歷陣列 for(int i=0;i<arr.length;i++){ System.out.print(arr[i]+"\t"); } } }
控制檯結果:
以上便是氣泡排序和選擇排序的解析,有問題可以在評論區提出。