三個簡單、基本的排序演算法---氣泡排序 、選擇排序、插入排序
阿新 • • 發佈:2018-12-15
1.氣泡排序
public class BubbleSort {
public static void sort(long[] arr){
long temp;
for(int i=0;i<arr.length-1;i++){
for(int j=arr.length-1;j>i;j--){
if(arr[j]<arr[j-1]){
temp = arr[j];
arr[j] = arr[j-1];
arr[j-1] = temp;
}
}
}
}
}
2.選擇排序
public class SelectSort { public static void sort(long[] arr){ int k; long temp; for(int i=0;i<arr.length;i++){ k = i; for(int j=i;j<arr.length;j++){ if(arr[j]<arr[k]){ k=j; } } temp = arr[i]; arr[i] = arr[k]; arr[k] = temp; } } }
3.插入排序
public class InsertSort { public static void sort(long[] array){ for(int i =1;i<array.length;i++){ long temp = array[i]; int j = i-1; while(j>=0 && array[j]>temp ){ array[j+1] = array[j]; j--; } array[j+1] = temp; } } }
測試類:
public class Test{ public static void main(String[] args) { long[] arr= new long[]{1,5,3,89,34,0,-90,67,2}; System.out.print("["); for (long l : arr) { System.out.print(l+" "); } System.out.println("]"); //BubbleSort.sort(arr); //SelectSort.sort(arr); InsertSort.sort(arr); System.out.print("["); for (long l : arr) { System.out.print(l+" "); } System.out.println("]"); } }