簡單排序--第2集

轉載請註明出處:http://blog.csdn.net/u011569040/article/details/46004617

//冒泡排序 
public class BubbleSort {

	public static void sort(long[] arr) {
		long tem = 0;
		for(int i =0;i < arr.length  - 1; i ++){
			for(int j = arr.length - 1;j > i; j--){
				if(arr[j] < arr[j - 1]){
					//進行交換
					tem = arr[j];
					arr[j] = arr[j -1];
					arr[j - 1] = tem;
				}
					
			}
		}
	}
}

//選擇排序,效率要比冒泡排序的效率要高一些
public class SelectionSort {
	public static void sort(long[] arr){
		int k = 0;
		long tmp = 0;
		for(int i =0;i < arr.length -1; i++){
			k = i;
			for(int j = i; j < arr.length; j++){
				if(arr[j] < arr[k]){
					k = j;
				}
			}
			tmp = arr[i];
			arr[i] = arr[k];
			arr[k] = tmp;
		}
	}
}

//插入法排序
public class InsertSort {
	
	public static void sort(long[] arr){
		long tmp = 0;
		
		for(int i = 1; i< arr.length;i ++){
			
			tmp = arr[i];
			int j = i;
			while(j > 0 && arr[j] >= tmp){
				arr[j] = arr[j - 1];
				j--;
			}
			arr[j] = tmp;
		}

	}
}


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章