摘要:選擇排序選擇排序算法是一種原地址比較排序算法。選擇排序大致的思路是找數(shù)據(jù)結(jié)構(gòu)中的最小值并將其放置在第一位。找到第二小的的值放置的第二類,以此類推每一次內(nèi)循環(huán)遍歷尋找最小數(shù),記錄下,并在這次內(nèi)循環(huán)后交換和的位置
// 選擇排序
// 選擇排序算法是一種原地址比較排序算法。
// 選擇排序大致的思路是找數(shù)據(jù)結(jié)構(gòu)中的最小值并將其放置在第一位。找到第二小的的值放置的第二類,以此類推
// 每一次內(nèi)循環(huán)遍歷尋找最小數(shù),記錄下minIndex,并在這次內(nèi)循環(huán)后交換minIndex和i的位置
function swap(arr, indexA, indexB) {
return [arr[indexA], arr[indexB]] = [arr[indexB], arr[indexA]];
}
function selectionSort(arr) {
let len = arr.length; for (let i = 0; i < len; i++) { let minIndex = i; for (let j = i + 1; j < len; j++) { if (arr[j] < arr[minIndex]) { minIndex = j; } } if (i != minIndex ) { swap(arr, i, minIndex); } } return arr;
}
const arr = [91, 60, 96, 7, 35, 65, 10, 65, 9, 30, 20, 31, 77, 81, 24];
console.log(selectionSort(arr));
文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請注明本文地址:http://systransis.cn/yun/101322.html
摘要:介紹排序算法是算法中最常見的算法之一,我這里要介紹的是排序算法中的三種基本算法冒泡排序選擇排序插入排序,在文章的后面我會對三種算法的速度進行對比。 1.介紹 排序算法是算法中最常見的算法之一,我這里要介紹的是排序算法中的三種基本算法:冒泡排序、選擇排序、插入排序,在文章的后面我會對三種算法的速度進行對比。 2.冒泡排序 冒泡排序其名來源與其算法實現(xiàn),會使得數(shù)組中的元素一個個從數(shù)組一端漂...
摘要:本文對一些排序算法進行了簡單分析,并給出了的代碼實現(xiàn)。平均時間復雜度不好分析,它是冒泡排序是穩(wěn)定的排序算法。冒泡排序是原地排序算法原地排序指的是空間復雜度是的排序算法。歸并排序,會將數(shù)組從中間分成左右兩部分。 本文對一些排序算法進行了簡單分析,并給出了 javascript 的代碼實現(xiàn)。因為本文包含了大量的排序算法,所以分析不會非常詳細,適合有對排序算法有一定了解的同學。本文內(nèi)容其實不...
閱讀 2146·2021-11-18 10:07
閱讀 3524·2021-09-04 16:48
閱讀 3225·2019-08-30 15:53
閱讀 1248·2019-08-30 12:55
閱讀 2464·2019-08-29 15:08
閱讀 3164·2019-08-29 15:04
閱讀 2889·2019-08-29 14:21
閱讀 2917·2019-08-29 11:21