亚洲中字慕日产2020,大陆极品少妇内射AAAAAA,无码av大香线蕉伊人久久,久久精品国产亚洲av麻豆网站

資訊專(zhuān)欄INFORMATION COLUMN

java實(shí)現(xiàn)選擇排序

morgan / 2367人閱讀

摘要:選擇排序就是把最大或者最小的數(shù)找出來(lái)后,從數(shù)組邊緣開(kāi)始逐個(gè)地放置好。選擇排序的時(shí)間復(fù)雜度為這是一種不穩(wěn)定的排序。代碼實(shí)現(xiàn)如下記錄下最小值的位置交換兩個(gè)位置的值

選擇排序就是把最大或者最小的數(shù)找出來(lái)后,從數(shù)組邊緣開(kāi)始逐個(gè)地放置好。

如下圖(這里我以找出最小的數(shù)字為例):

這種方法的基本步驟如下:
1.先從第一個(gè)元素開(kāi)始,相鄰的兩個(gè)元素進(jìn)行比較,最后得出第一次比較中最小的元素;
2.記錄好這個(gè)最小元素的位置,并把這個(gè)元素與第一個(gè)元素互換位置;
3.接著再?gòu)牡诙€(gè)元素開(kāi)始,相鄰的兩個(gè)元素再進(jìn)行比較,得出第二次比較中最小的元素;
4.記錄好這個(gè)最小元素的位置,并把這個(gè)元素與第二個(gè)元素互換位置;
5.如此類(lèi)推......最終實(shí)現(xiàn)有序排列。

選擇排序的時(shí)間復(fù)雜度為O(N^2),這是一種不穩(wěn)定的排序。

代碼實(shí)現(xiàn)如下:

public static void selectionSort(int[] nums) {

for(int i = 0; i < nums.length-1; i++) {
    int location = i;
    for(int j = i; j < nums.length-1; j++) {
        if(nums[j+1] < nums[location]) {
            location = j+1;//記錄下最小值的位置
        }
    }
    //交換兩個(gè)位置的值
    if(location != i) {
        int temp = nums[i];
        nums[i] = nums[location];
        nums[location] = temp;
    }
}

}

文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請(qǐng)注明本文地址:http://www.ezyhdfw.cn/yun/71313.html

相關(guān)文章

  • 基本排序 - Algorithms, Part I, week 2 ELEMENTARY SORTS

    摘要:我們討論比較排序算法的理論基礎(chǔ),并結(jié)合本章應(yīng)用排序和優(yōu)先級(jí)隊(duì)列算法?;九判蛞肓诉x擇排序,插入排序和。描述了,一種保證在線(xiàn)性時(shí)間內(nèi)運(yùn)行的排序算法。當(dāng)我們后續(xù)實(shí)現(xiàn)排序算法時(shí),我們實(shí)際上將這個(gè)機(jī)制隱藏在我們的實(shí)現(xiàn)下面。 前言 上一篇:棧和隊(duì)列下一篇:歸并排序 排序是重新排列一系列對(duì)象以便按照某種邏輯順序排列的過(guò)程。排序在商業(yè)數(shù)據(jù)處理和現(xiàn)代科學(xué)計(jì)算中起著重要作用。在交易處理,組合優(yōu)化,天體...

    BLUE 評(píng)論0 收藏0
  • 【算法日積月累】1-選擇排序

    摘要:選擇排序算法實(shí)現(xiàn)實(shí)現(xiàn)選擇排序,記錄最小元素的索引,最后才交換位置說(shuō)明交換兩個(gè)數(shù)組中的元素,在中有更簡(jiǎn)單的寫(xiě)法,這是的語(yǔ)法糖,其它語(yǔ)言中是沒(méi)有的。和語(yǔ)言中比較器的實(shí)現(xiàn)前面我們說(shuō)到了,我們?yōu)榱送怀雠判蛩惴ǖ乃枷?,將所有的例子僅限在數(shù)組排序中。 showImg(https://segmentfault.com/img/remote/1460000017909538?w=1949&h=1080...

    neuSnail 評(píng)論0 收藏0
  • 八大排序算法Java實(shí)現(xiàn)

    摘要:向后移動(dòng)位簡(jiǎn)單選擇排序基本思想常用于取序列中最大最小的幾個(gè)數(shù)時(shí)。代碼實(shí)現(xiàn)循環(huán)次數(shù)選出最小的值和位置交換位置堆排序基本思想對(duì)簡(jiǎn)單選擇排序的優(yōu)化。 概述 常見(jiàn)的八大排序算法,它們之間的關(guān)系如下: showImg(https://segmentfault.com/img/remote/1460000011395738?w=880&h=671); 直接插入排序 希爾排序 簡(jiǎn)單選擇排序 堆排序...

    Coly 評(píng)論0 收藏0
  • Java常用的八種排序算法與代碼實(shí)現(xiàn)精解

    摘要:直接插入排序的算法重點(diǎn)在于尋找插入位置。也稱(chēng)縮小增量排序,是直接插入排序算法的一種更高效的改進(jìn)版本。希爾排序是非穩(wěn)定排序算法。簡(jiǎn)單選擇排序常用于取序列中最大最小的幾個(gè)數(shù)時(shí)。將新構(gòu)成的所有的數(shù)的十位數(shù)取出,按照十位數(shù)進(jìn)行排序,構(gòu)成一個(gè)序列。 1.直接插入排序 直接插入排序算法是排序算法中最簡(jiǎn)單的,但在尋找插入位置時(shí)的效率不高?;舅枷刖褪菍⒁粋€(gè)待排序的數(shù)字在已經(jīng)排序的序列中尋找找到一個(gè)插...

    2501207950 評(píng)論0 收藏0

發(fā)表評(píng)論

0條評(píng)論

閱讀需要支付1元查看
<