App下載

使用Java語(yǔ)言來(lái)實(shí)現(xiàn)選擇排序算法 附實(shí)例代碼

櫥窗的光 2021-08-11 11:05:12 瀏覽數(shù) (2365)
反饋

選擇排序算法是經(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í)有所幫助。


0 人點(diǎn)贊