選擇排序

1、選擇排序

思想:int []  arr = { 9 , 8 , 7 , 6 , 2 , 1 , 3 , 4 , 5 , 0};
1、第一個位置的元素不變,遍歷從第二個位置開始,遍歷剩下的元素,找到最小值對應的那個索引,然後跟第一個元素交換;
2、第二個位置的元素不變,遍歷從第三個位置開始,遍歷剩下的元素,找到最小值對應的那個索引,然後跟第二個元素交換;
3、第三個位置的元素不變,遍歷從第四個位置開始,遍歷剩下的元素,找到最小值對應的那個索引,然後跟第三個元素交換;
4、以此類推
具體實現的代碼:
public class SelectSort {


public static void main(String[] args) {
int[] arr=getRandomArray(1000,0,10000);
selectSort(arr);
System.out.println("\n排好序的結果:");
System.out.println(Arrays.toString(arr));

}
public static void selectSort(int[] array){
int LEN=array.length;
for(int i=0;i<LEN;i++){
int minIndex=i;//用來保存位置的索引
for(int j=i+1;j<LEN;j++){
if(array[j]<array[minIndex]){
minIndex=j;//找到最小元素對應的索引
}
}
//交換元素的位置,將最小元素換到minIndex代表的位置
int temp=array[minIndex];
array[minIndex]=array[i];
array[i]=temp;
}
}
//隨機生成一個長度爲len的數組
public static int[] getRandomArray(int len,int min,int max){
int[] array=new int[len];
for(int i=0;i<len;i++){
array[i]=(int)(Math.random()*(max-min)+min);
}
return array;
}


}


發佈了17 篇原創文章 · 獲贊 7 · 訪問量 1萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章