數(shù)組和算法-數(shù)組排序-快速排序

快速排序

  • 基本思想:
  1. 我們首先在數(shù)組中選擇一個(gè)基準(zhǔn)點(diǎn)(一般我們選擇數(shù)組中間這一項(xiàng) Math.floor(ary.length/2))
  2. 拿基準(zhǔn)點(diǎn)和數(shù)組中的其他項(xiàng)進(jìn)行比較,比基準(zhǔn)點(diǎn)小的方法左邊收捣,比它大的放在右邊
  3. 以后每一邊都重復(fù)上述兩個(gè)操作旅敷,直到當(dāng)前這一邊只有一項(xiàng)的時(shí)候停止

下面上代碼

function quickSort(ary) {
        if (ary.length <= 1) {
            return ary;
        }
        var pointIndex = Math.floor(ary.length / 2);//找到基準(zhǔn)點(diǎn)索引
        var pointValue = ary.splice(pointIndex, 1)[0];//找到基準(zhǔn)點(diǎn)的值,刪除掉窄刘,并拿出來(lái)瓜喇。此處是一個(gè)數(shù)組疯汁。因此還要取值[0]
        // 接下來(lái)拿基準(zhǔn)值和數(shù)組進(jìn)行比較,把小于基準(zhǔn)值的放在基準(zhǔn)值的左邊地来,大的放在右邊
        var left = [];
        var right = [];
        for (var i = 0; i < ary.length; i++) {
            var cur = ary[i];
            cur < pointValue ? left.push(cur) : right.push(cur);
        }
        return quickSort(left).concat([pointValue],quickSort(right)); //此處用到遞歸
    }
    var ary = [15, 13, 17, 11, 8, 20, 22];
    var res = quickSort(ary);
    console.log(res);

結(jié)果是:[8, 11, 13, 15, 17, 20, 22]

最后要說(shuō)的話:寫程序要注意細(xì)節(jié)戳玫,細(xì)節(jié)決定不了你知識(shí)的深度,但是細(xì)節(jié)能決定你的路有多遠(yuǎn)未斑!

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末咕宿,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌府阀,老刑警劉巖缆镣,帶你破解...
    沈念sama閱讀 206,378評(píng)論 6 481
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異试浙,居然都是意外死亡董瞻,警方通過(guò)查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,356評(píng)論 2 382
  • 文/潘曉璐 我一進(jìn)店門田巴,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)钠糊,“玉大人,你說(shuō)我怎么就攤上這事壹哺〕椋” “怎么了?”我有些...
    開(kāi)封第一講書(shū)人閱讀 152,702評(píng)論 0 342
  • 文/不壞的土叔 我叫張陵管宵,是天一觀的道長(zhǎng)截珍。 經(jīng)常有香客問(wèn)我,道長(zhǎng)啄糙,這世上最難降的妖魔是什么笛臣? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 55,259評(píng)論 1 279
  • 正文 為了忘掉前任,我火速辦了婚禮隧饼,結(jié)果婚禮上沈堡,老公的妹妹穿的比我還像新娘。我一直安慰自己燕雁,他們只是感情好诞丽,可當(dāng)我...
    茶點(diǎn)故事閱讀 64,263評(píng)論 5 371
  • 文/花漫 我一把揭開(kāi)白布。 她就那樣靜靜地躺著拐格,像睡著了一般僧免。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上捏浊,一...
    開(kāi)封第一講書(shū)人閱讀 49,036評(píng)論 1 285
  • 那天懂衩,我揣著相機(jī)與錄音,去河邊找鬼金踪。 笑死浊洞,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的胡岔。 我是一名探鬼主播法希,決...
    沈念sama閱讀 38,349評(píng)論 3 400
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼靶瘸!你這毒婦竟也來(lái)了苫亦?” 一聲冷哼從身側(cè)響起毛肋,我...
    開(kāi)封第一講書(shū)人閱讀 36,979評(píng)論 0 259
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎屋剑,沒(méi)想到半個(gè)月后润匙,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 43,469評(píng)論 1 300
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡饼丘,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 35,938評(píng)論 2 323
  • 正文 我和宋清朗相戀三年趁桃,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片肄鸽。...
    茶點(diǎn)故事閱讀 38,059評(píng)論 1 333
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡卫病,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出典徘,到底是詐尸還是另有隱情蟀苛,我是刑警寧澤,帶...
    沈念sama閱讀 33,703評(píng)論 4 323
  • 正文 年R本政府宣布逮诲,位于F島的核電站帜平,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏梅鹦。R本人自食惡果不足惜裆甩,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,257評(píng)論 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望齐唆。 院中可真熱鬧嗤栓,春花似錦、人聲如沸箍邮。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 30,262評(píng)論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)锭弊。三九已至堪澎,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間味滞,已是汗流浹背樱蛤。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 31,485評(píng)論 1 262
  • 我被黑心中介騙來(lái)泰國(guó)打工, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留剑鞍,地道東北人刹悴。 一個(gè)月前我還...
    沈念sama閱讀 45,501評(píng)論 2 354
  • 正文 我出身青樓,卻偏偏與公主長(zhǎng)得像攒暇,于是被迫代替她去往敵國(guó)和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子子房,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 42,792評(píng)論 2 345

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

  • 1形用、冒泡排序: 思想:讓當(dāng)前項(xiàng)和后一項(xiàng)比較就轧,如果當(dāng)前項(xiàng)大于后一項(xiàng),兩者交換位置田度。每一輪當(dāng)前項(xiàng)和后一項(xiàng)兩兩比較的話妒御,...
    gaoqizhuhui閱讀 293評(píng)論 0 0
  • 第5章 引用類型(返回首頁(yè)) 本章內(nèi)容 使用對(duì)象 創(chuàng)建并操作數(shù)組 理解基本的JavaScript類型 使用基本類型...
    大學(xué)一百閱讀 3,212評(píng)論 0 4
  • 數(shù)組方法的小總結(jié) 從數(shù)組末尾刪除一項(xiàng),有哪些方法镇饺?ary.length--ary.length-=1; ary.l...
    固執(zhí)_i閱讀 205評(píng)論 0 0
  • 數(shù)組去重 方法1:用for雙重循環(huán) 方法2:先sort奸笤,然后用當(dāng)前項(xiàng)和相鄰項(xiàng)進(jìn)行比較 方法3:建立新數(shù)組惋啃,用ind...
    Chevy_Guo閱讀 372評(píng)論 0 0
  • 不知道什么時(shí)候開(kāi)始,習(xí)慣了晚睡监右。就算很早就做完了要做的事边灭,仍然會(huì)拖拖拉拉,沒(méi)事找事直到一兩點(diǎn)才能去睡覺(jué)健盒。 現(xiàn)在似乎...
    李不乖閱讀 172評(píng)論 0 2