1. 程式人生 > >三個簡單、基本的排序演算法---氣泡排序 、選擇排序、插入排序

三個簡單、基本的排序演算法---氣泡排序 、選擇排序、插入排序

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("]");
	}
}