Javascript 基本功之排序算法

前言

前一段時間一直自學javascript語法,發(fā)現(xiàn)作為基礎(chǔ)的排序算法還沒有實踐過盅弛,作為面試重點跨新,現(xiàn)在羅列三種排序算法的具體代碼

. 1.普通排序:

function sort(arr){
 var index = 0;
 for (var i = 0; i< arr.length;i++){
   for(var j=i+1;j<arr.length;j++){
   if(arr[i]>arr[j]){
        var b = arr[j];
        arr[j] = arr[i];
        arr[i] = b;
        }
   else{continue;}
      }
   }

return arr;

}
var arr1= [2,3,6,1,6,8,9,0];
console.log(sort(arr1));

. 2.冒泡排序:
重點一句話,外層管冒幾次狮惜,內(nèi)層管冒到哪兒:(請原諒我的函數(shù)命名沒有使用駝峰原則)

function bubblesort(arr){
  var index = 0;
  for(var i =0; i<arr.length;i++){
   for(var j = 0;j<arr.length-i-1;j++){
     if(arr[j]>arr[j+1]){
          var b =arr[j+1];
          arr[j+1]= arr[j];
          arr[j]= b;

         }

      }

   }
return arr;
}
var arr1= [2,3,6,1,6,8,9,0];
console.log(bubblesort(arr1));

. 3.重點來了:快速排序前鹅!思想是遞歸摘悴,總體思路是先選中間元素,標為pivot舰绘,比pivot大的放右邊蹂喻,比pivot小的放左邊,然后遞歸捂寿,最后通過concat左右鏈接在一起返回新數(shù)組

function quicksort(arr){
   if (arr.length<=1){return arr}
   var pivotIndex = Math.floor(arr.length / 2);
  var pivot = arr.splice(pivotIndex, 1)[0];
   var left=[];
   var right=[];
   for (var i = 0; i < arr.length; i++){
    if (arr[i] < pivot) {
      left.push(arr[i]);
    } else {
      right.push(arr[i]);
    }
  }
return quicksort(left).concat([pivot],quicksort(right));
}
var arr1= [2,3,6,1,6,8,9,0];
console.log(quicksort(arr1));


最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末口四,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子秦陋,更是在濱河造成了極大的恐慌蔓彩,老刑警劉巖,帶你破解...
    沈念sama閱讀 206,311評論 6 481
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件驳概,死亡現(xiàn)場離奇詭異赤嚼,居然都是意外死亡,警方通過查閱死者的電腦和手機顺又,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,339評論 2 382
  • 文/潘曉璐 我一進店門更卒,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人待榔,你說我怎么就攤上這事逞壁。” “怎么了锐锣?”我有些...
    開封第一講書人閱讀 152,671評論 0 342
  • 文/不壞的土叔 我叫張陵腌闯,是天一觀的道長。 經(jīng)常有香客問我雕憔,道長姿骏,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 55,252評論 1 279
  • 正文 為了忘掉前任斤彼,我火速辦了婚禮分瘦,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘琉苇。我一直安慰自己嘲玫,他們只是感情好,可當我...
    茶點故事閱讀 64,253評論 5 371
  • 文/花漫 我一把揭開白布并扇。 她就那樣靜靜地躺著去团,像睡著了一般。 火紅的嫁衣襯著肌膚如雪穷蛹。 梳的紋絲不亂的頭發(fā)上土陪,一...
    開封第一講書人閱讀 49,031評論 1 285
  • 那天,我揣著相機與錄音肴熏,去河邊找鬼鬼雀。 笑死,一個胖子當著我的面吹牛蛙吏,可吹牛的內(nèi)容都是我干的源哩。 我是一名探鬼主播,決...
    沈念sama閱讀 38,340評論 3 399
  • 文/蒼蘭香墨 我猛地睜開眼鸦做,長吁一口氣:“原來是場噩夢啊……” “哼璧疗!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起馁龟,我...
    開封第一講書人閱讀 36,973評論 0 259
  • 序言:老撾萬榮一對情侶失蹤崩侠,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后坷檩,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體却音,經(jīng)...
    沈念sama閱讀 43,466評論 1 300
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 35,937評論 2 323
  • 正文 我和宋清朗相戀三年矢炼,在試婚紗的時候發(fā)現(xiàn)自己被綠了系瓢。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 38,039評論 1 333
  • 序言:一個原本活蹦亂跳的男人離奇死亡句灌,死狀恐怖夷陋,靈堂內(nèi)的尸體忽然破棺而出欠拾,到底是詐尸還是另有隱情,我是刑警寧澤骗绕,帶...
    沈念sama閱讀 33,701評論 4 323
  • 正文 年R本政府宣布藐窄,位于F島的核電站,受9級特大地震影響酬土,放射性物質(zhì)發(fā)生泄漏荆忍。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 39,254評論 3 307
  • 文/蒙蒙 一撤缴、第九天 我趴在偏房一處隱蔽的房頂上張望刹枉。 院中可真熱鬧,春花似錦屈呕、人聲如沸微宝。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,259評論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽芥吟。三九已至,卻和暖如春专甩,著一層夾襖步出監(jiān)牢的瞬間钟鸵,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 31,485評論 1 262
  • 我被黑心中介騙來泰國打工涤躲, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留棺耍,地道東北人。 一個月前我還...
    沈念sama閱讀 45,497評論 2 354
  • 正文 我出身青樓种樱,卻偏偏與公主長得像蒙袍,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子嫩挤,可洞房花燭夜當晚...
    茶點故事閱讀 42,786評論 2 345

推薦閱讀更多精彩內(nèi)容

  • [TOC] 前言 這是《Java數(shù)據(jù)結(jié)構(gòu)與算法》一書中關(guān)于排序算法部分的讀書筆記害幅。 最近想看看算法方面的東西,便先...
    bruvir閱讀 606評論 0 2
  • 某次二面時岂昭,面試官問起Js排序問題以现,吾絞盡腦汁回答了幾種,深感算法有很大的問題约啊,所以總計一下邑遏! 排序算法說明 (1...
    流浪的先知閱讀 1,187評論 0 4
  • 概述 排序有內(nèi)部排序和外部排序,內(nèi)部排序是數(shù)據(jù)記錄在內(nèi)存中進行排序恰矩,而外部排序是因排序的數(shù)據(jù)很大记盒,一次不能容納全部...
    蟻前閱讀 5,164評論 0 52
  • 缺鈣會引起280種疾病,你知道嗎碾盟?掉頭發(fā)棚辽、不愛笑、說話遲巷疼、軟骨病晚胡、佝僂病灵奖、厭食嚼沿、消瘦、多汗瓷患、夜啼骡尽、大腦活動欠佳、煩...
    快樂一生愛生活閱讀 3,512評論 0 0
  • 曹小力閱讀 196評論 0 0