前言
今兒是中秋,第二天開始學(xué)習(xí)排序算法,臉皮是得厚點(diǎn),雖然自己還是有點(diǎn)水,但是還是需要繼續(xù)努力ing~
1、定義


雙層循環(huán)找最?。ù螅?/p>
在內(nèi)存空間不變的情況下,依次找到最?。ɑ蜃畲螅┲玫脚判虻淖钋胺剑?/p>
用時(shí)間換空間
特點(diǎn)
無論什么數(shù)據(jù)進(jìn)去都是 O(n2) 的時(shí)間復(fù)雜度
數(shù)據(jù)規(guī)模越小越好
不占用額外的內(nèi)存空間
2、步驟
首先在未排序序列中找到最?。ù螅┰兀娣诺脚判蛐蛄械钠鹗嘉恢?。
再從剩余未排序元素中繼續(xù)尋找最小(大)元素,然后放到已排序序列的末尾。
重復(fù)第二步,直到所有元素均排序完畢。
3、JavaScript實(shí)現(xiàn)
functionselectionSort(arr){varlen = arr.length;varminIndex, temp;for(vari =0; i < len -1; i++) {? ? ? ? minIndex = i;for(varj = i +1; j < len; j++) {if(arr[j] < arr[minIndex]) {// 尋找最小的數(shù)minIndex = j;// 將最小數(shù)的索引保存}? ? ? ? }? ? ? ? temp = arr[i];? ? ? ? arr[i] = arr[minIndex];? ? ? ? arr[minIndex] = temp;? ? }returnarr;}
參考鏈接

