最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

JS排序之選擇排序詳解

 更新時(shí)間:2017年04月08日 11:48:37   作者:Blue-Beginner  
這篇文章主要為大家詳細(xì)介紹了JS選擇排序的相關(guān)資料,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下

本文為大家分享了JS選擇排序的具體代碼,供大家參考,具體內(nèi)容如下

說明

  • 時(shí)間復(fù)雜度指的是一個(gè)算法執(zhí)行所耗費(fèi)的時(shí)間
  • 空間復(fù)雜度指運(yùn)行完一個(gè)程序所需內(nèi)存的大小
  • 穩(wěn)定指,如果a=b,a在b的前面,排序后a仍然在b的前面
  • 不穩(wěn)定指,如果a=b,a在b的前面,排序后可能會(huì)交換位置

--JS選擇排序--

原理

首先從原始數(shù)組中找到最小的元素,并把該元素放在數(shù)組的最前面,然后再?gòu)氖O碌脑刂袑ふ易钚〉脑?,放在之前最小元素的后面,知道排序完畢?/p>

時(shí)間復(fù)雜度,空間復(fù)雜度,穩(wěn)定性

  • 平均時(shí)間復(fù)雜度O(n*n)
  • 最好情況O(n*n)
  • 最差情況O(n*n)
  • 空間復(fù)雜度O(1)
  • 穩(wěn)定性:不穩(wěn)定

選擇排序的寫法

var example=[8,94,15,88,55,76,21,39];
function selectSort(arr){
 var len=arr.length;
 var minIndex,temp;
 console.time('選擇排序耗時(shí)');
 for(i=0;i<len-1;i++){
  minIndex=i;
  for(j=i+1;j<len;j++){
   if(arr[j]<arr[minIndex]){
    minIndex=j;
   }
  }
 temp=arr[i];
 arr[i]=arr[minIndex];
 arr[minIndex]=temp;
 }
 console.timeEnd('選擇排序耗時(shí)');
 return arr;
}
console.log(selectSort(example));

解析

minIndex始終保存著最小值的位置的索引,隨著i的自增,遍歷的數(shù)組長(zhǎng)度越來越短,直到完成排序。

以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

  • JavaScript 學(xué)習(xí)點(diǎn)滴記錄

    JavaScript 學(xué)習(xí)點(diǎn)滴記錄

    HTML DOM (Document Object Model文檔對(duì)象模型) DOM是一種與瀏覽器,平臺(tái),語言的接口,使得你可以訪問頁面其他的標(biāo)準(zhǔn)組件. DOM是以層次結(jié)構(gòu)組織的節(jié)點(diǎn)或信息片斷的集合.
    2009-04-04
  • 關(guān)于javascript sort()排序你可能忽略的一點(diǎn)理解

    關(guān)于javascript sort()排序你可能忽略的一點(diǎn)理解

    最近在研究Javascript發(fā)現(xiàn)了其中一些之前忽略的問題,所以想著總結(jié)分享出來,下面這篇文章主要給大家介紹了關(guān)于javascript sort()排序你可能忽略的一點(diǎn)理解,文中介紹的非常詳細(xì),需要的朋友可以參考借鑒,下面來一起看看吧。
    2017-07-07
  • js實(shí)現(xiàn)飛機(jī)大戰(zhàn)小游戲

    js實(shí)現(xiàn)飛機(jī)大戰(zhàn)小游戲

    這篇文章主要為大家詳細(xì)介紹了js實(shí)現(xiàn)飛機(jī)大戰(zhàn)小游戲,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2020-08-08
  • JavaScript實(shí)現(xiàn)簡(jiǎn)易tab欄切換案例

    JavaScript實(shí)現(xiàn)簡(jiǎn)易tab欄切換案例

    這篇文章主要為大家詳細(xì)介紹了JavaScript實(shí)現(xiàn)簡(jiǎn)易tab欄切換案例,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2021-06-06
  • p5.js繪制創(chuàng)意自畫像

    p5.js繪制創(chuàng)意自畫像

    這篇文章主要為大家詳細(xì)介紹了p5.js繪制創(chuàng)意自畫像,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2019-11-11
  • javascript 兼容各個(gè)瀏覽器的事件

    javascript 兼容各個(gè)瀏覽器的事件

    這篇文章主要介紹了javascript 兼容各個(gè)瀏覽器的事件,需要的朋友可以參考下
    2015-02-02
  • 大轉(zhuǎn)盤抽獎(jiǎng)小程序版 轉(zhuǎn)盤抽獎(jiǎng)網(wǎng)頁版

    大轉(zhuǎn)盤抽獎(jiǎng)小程序版 轉(zhuǎn)盤抽獎(jiǎng)網(wǎng)頁版

    這篇文章主要為大家詳細(xì)介紹了大轉(zhuǎn)盤抽獎(jiǎng)小程序版和網(wǎng)頁版,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2019-01-01
  • JavaScript利用Immerjs實(shí)現(xiàn)不可變數(shù)據(jù)

    JavaScript利用Immerjs實(shí)現(xiàn)不可變數(shù)據(jù)

    Immerjs?是一個(gè)用于管理?JavaScript?不可變數(shù)據(jù)結(jié)構(gòu)的庫,它可以幫助我們更輕松地處理狀態(tài)的變化,并減少冗余代碼。本文就來帶大家揭秘如何利用Immerjs實(shí)現(xiàn)不可變數(shù)據(jù),感興趣的可以了解一下
    2023-04-04
  • 關(guān)于Object.entries()方法的使用和實(shí)現(xiàn)方式

    關(guān)于Object.entries()方法的使用和實(shí)現(xiàn)方式

    這篇文章主要介紹了關(guān)于Object.entries()方法的使用和實(shí)現(xiàn)方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2023-02-02
  • Bootstrap實(shí)現(xiàn)響應(yīng)式導(dǎo)航欄效果

    Bootstrap實(shí)現(xiàn)響應(yīng)式導(dǎo)航欄效果

    這篇文章主要介紹了Bootstrap實(shí)現(xiàn)響應(yīng)式導(dǎo)航欄效果,導(dǎo)航欄是一個(gè)很好的功能,是Bootstrap網(wǎng)站的一個(gè)突出特點(diǎn),本文帶領(lǐng)大家學(xué)習(xí)實(shí)現(xiàn)Bootstrap導(dǎo)航欄,需要的朋友可以參考下
    2015-12-12

最新評(píng)論

化隆| 察哈| 攀枝花市| 永兴县| 宜黄县| 青河县| 贵阳市| 盐津县| 乌苏市| 汕尾市| 叶城县| 互助| 黎城县| 南汇区| 浦江县| 赤水市| 玉溪市| 略阳县| 佛坪县| 青川县| 重庆市| 巨鹿县| 法库县| 苗栗市| 筠连县| 江西省| 韶关市| 讷河市| 公主岭市| 鄯善县| 布拖县| 铜山县| 喀什市| 黄梅县| 乌拉特中旗| 丘北县| 安康市| 潜山县| 密云县| 温泉县| 临江市|