選擇排序算法是經(jīng)典排序算法中的一個(gè),時(shí)間復(fù)雜度為O(n2),穩(wěn)定性屬于不穩(wěn)定的。下面,本篇文章將通過(guò)Java代碼為大家展示選擇排序算法的一個(gè)排序過(guò)程的內(nèi)容。
選擇排序
選擇排序的思路是這樣的:首先,找到數(shù)組中最小的元素,拎出來(lái),將它和數(shù)組的第一個(gè)元素交換位置,第二步,在剩下的元素中繼續(xù)尋找最小的元素,拎出來(lái),和數(shù)組的第二個(gè)元素交換位置,如此循環(huán),直到整個(gè)數(shù)組排序完成。
至于選大還是選小,這個(gè)都無(wú)所謂,你也可以每次選擇最大的拎出來(lái)排,也可以每次選擇最小的拎出來(lái)的排,只要你的排序的手段是這種方式,都叫選擇排序。
(有序區(qū),無(wú)序區(qū))。在無(wú)序區(qū)里找一個(gè)最小的元素跟在有序區(qū)的后面。對(duì)數(shù)組:比較得多,換得少。
Java實(shí)現(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、以此類(lèi)推,直到所有元素均排序完畢
以上就是用Java實(shí)現(xiàn)選擇排序算法的全部?jī)?nèi)容,想要了解更多其他經(jīng)典排序算法使用Java實(shí)現(xiàn)的內(nèi)容,可以多多關(guān)注W3Cschool相關(guān)內(nèi)容的文章,希望本篇文章能夠?qū)Υ蠹业膶W(xué)習(xí)有所幫助。