選擇排序算法是經(jīng)典排序算法中的一個,時間復雜度為O(n2),穩(wěn)定性屬于不穩(wěn)定的。下面,本篇文章將通過Java代碼為大家展示選擇排序算法的一個排序過程的內(nèi)容。
選擇排序
選擇排序的思路是這樣的:首先,找到數(shù)組中最小的元素,拎出來,將它和數(shù)組的第一個元素交換位置,第二步,在剩下的元素中繼續(xù)尋找最小的元素,拎出來,和數(shù)組的第二個元素交換位置,如此循環(huán),直到整個數(shù)組排序完成。
至于選大還是選小,這個都無所謂,你也可以每次選擇最大的拎出來排,也可以每次選擇最小的拎出來的排,只要你的排序的手段是這種方式,都叫選擇排序。
(有序區(qū),無序區(qū))。在無序區(qū)里找一個最小的元素跟在有序區(qū)的后面。對數(shù)組:比較得多,換得少。
Java實現(xiàn)選擇排序
package com.zy.test;
import java.util.Arrays;
public class SelectSort {
public static void main(String[] args) {
System.out.println("SelectSort");
int[] arr={6,3,8,2,9,1};
System.out.println(Arrays.toString(arr));
for (int i=0;i<arr.length;i++){
int min=i;
for (int j=1;j<arr.length-i;j++){
if (arr[j]<min){
int temp=arr[j];
arr[j]=min;
min=temp;
}
}
}
System.out.println(Arrays.toString(arr));
}
}
選擇排序思路:
1、在未排序序列中找到最小(大)元素,存放到排序序列的起始位置
2、從剩余未排序元素中繼續(xù)尋找最?。ù螅┰?,然后放到已排序序列的末尾
3、以此類推,直到所有元素均排序完畢
以上就是用Java實現(xiàn)選擇排序算法的全部內(nèi)容,想要了解更多其他經(jīng)典排序算法使用Java實現(xiàn)的內(nèi)容,可以多多關注W3Cschool相關內(nèi)容的文章,希望本篇文章能夠?qū)Υ蠹业膶W習有所幫助。