1. 程式人生 > >【Java】排序方法1-----選擇排序法

【Java】排序方法1-----選擇排序法

對Java的排序方法進行總結,第一種,比較簡單,易理解的方法:選擇排序法,順序排列;遍歷整個陣列,將最大值放到陣列最後面,然後將剩下的元素再遍歷,再講第二大的元素放到倒數第2位…最後將最小的元素放在陣列第1位;

public class SelectionSort {
	public static void main(String[] args) {
		double [] doubleList = {1,9,5,1,8,2,3,7,6,4};
		selectionSort(doubleList);
		for (int i = 0; i < doubleList.length; i++) {
			System.out.println(doubleList[i]);
		}
	}
	
	public static void selectionSort(double[] list){
		//第一次for迴圈,倒序遍歷
		for(int i = list.length-1;i>=1;i--){
			double currentMax = list[0];
			int currentMaxIndex = 0;
			//第二次for迴圈,順序遍歷,獲取最大值
			for (int j = 0; j < i; j++) {
				if (currentMax<list[j]) {
					currentMax = list[j];
					currentMaxIndex =j;
				}
			}
			//如果最大值的下標不為i,則將最大值放最後,將當前值放最大值位置處;
			if (currentMaxIndex!=i) {
				list[currentMaxIndex] = list[i];
				list[i] =currentMax;
			}
		}	
	}
}