常見排序(學習更新ing)

冒泡排序

實現(xiàn)思路

依次比較相鄰的兩個數(shù),如果不符合排序規(guī)則紧索,則調換兩個數(shù)的位置袁辈。這樣一遍比較下來,能夠保證最大(或最兄槠)的數(shù)排在最后一位晚缩。
1每次比較相鄰的兩個數(shù),符合規(guī)則(前一位 > 后一位)就調換兩個數(shù)的位置(判斷 > 調換位置)
2通過第一步把最大的一位數(shù)排在最后一位(最后的一位數(shù)排序完畢)
3最后一位已經(jīng)排序完畢遂排除媳危,對剩余未排序的數(shù)重復上面步驟直至排序完成

排序設計

1判斷荞彼、調換位置

function swap(myArr, p1, p2) {
  var temp = myArr[p1]
  myArr[p1] = myArr[p2]
  myArr[p2] = temp 
}

2排序循環(huán)

function bubbleSort(myArr) {
  var len = myArr.length
  var stop // 設置已排序與未排序的位置
  var i
  var j  // 設置for循環(huán)遍歷次數(shù)的變量, 防止混淆
  for(i = 0; i < len - 1; i ++) { // 第i遍循環(huán)數(shù)組排序
    for(j = 0; j < len - 1 - i; j ++) { // 檢查數(shù)組每個數(shù),已排序完畢的則不進行重新排序
      if(myArr[j] > myArr[j + 1]) {
        swap(myArr, j, j + 1)
      }
    }
  }
  return myArr
}

選擇排序

實現(xiàn)思路

1每次假設剩余未比較的數(shù)組里的第一位為最小值
2將假設的最小值與其余數(shù)值比較找出最小值
3比較完畢后將最小值置為第一位

排序設計

1判斷待笑、調換位置

function swap(myArr, p1, p2) {
  var temp = myArr[p1]
  myArr[p1] = myArr[p2]
  myArr[p2] = temp 
}

2排序循環(huán)

function selectionSort(myArr) {
  var len = myArr.length
  var min
  for(i = 0; i < len - 1; i++) {
    min = i
    for(j = i + 1; j < len; j++) {
      if(myArr[j] < myArr[i]) {
        min = j
      }
    }
    if(i != min) {
      swap(myArr, i, min)
    }
  }
  return myArr
}
最后編輯于
?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
  • 序言:七十年代末鸣皂,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子暮蹂,更是在濱河造成了極大的恐慌寞缝,老刑警劉巖,帶你破解...
    沈念sama閱讀 222,681評論 6 517
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件仰泻,死亡現(xiàn)場離奇詭異荆陆,居然都是意外死亡,警方通過查閱死者的電腦和手機集侯,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 95,205評論 3 399
  • 文/潘曉璐 我一進店門被啼,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人棠枉,你說我怎么就攤上這事浓体。” “怎么了辈讶?”我有些...
    開封第一講書人閱讀 169,421評論 0 362
  • 文/不壞的土叔 我叫張陵命浴,是天一觀的道長。 經(jīng)常有香客問我贱除,道長咳促,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 60,114評論 1 300
  • 正文 為了忘掉前任勘伺,我火速辦了婚禮,結果婚禮上褂删,老公的妹妹穿的比我還像新娘飞醉。我一直安慰自己,他們只是感情好,可當我...
    茶點故事閱讀 69,116評論 6 398
  • 文/花漫 我一把揭開白布缅帘。 她就那樣靜靜地躺著轴术,像睡著了一般。 火紅的嫁衣襯著肌膚如雪钦无。 梳的紋絲不亂的頭發(fā)上逗栽,一...
    開封第一講書人閱讀 52,713評論 1 312
  • 那天,我揣著相機與錄音失暂,去河邊找鬼彼宠。 笑死,一個胖子當著我的面吹牛弟塞,可吹牛的內容都是我干的凭峡。 我是一名探鬼主播,決...
    沈念sama閱讀 41,170評論 3 422
  • 文/蒼蘭香墨 我猛地睜開眼决记,長吁一口氣:“原來是場噩夢啊……” “哼摧冀!你這毒婦竟也來了?” 一聲冷哼從身側響起系宫,我...
    開封第一講書人閱讀 40,116評論 0 277
  • 序言:老撾萬榮一對情侶失蹤索昂,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后扩借,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體椒惨,經(jīng)...
    沈念sama閱讀 46,651評論 1 320
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內容為張勛視角 年9月15日...
    茶點故事閱讀 38,714評論 3 342
  • 正文 我和宋清朗相戀三年往枷,在試婚紗的時候發(fā)現(xiàn)自己被綠了框产。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 40,865評論 1 353
  • 序言:一個原本活蹦亂跳的男人離奇死亡错洁,死狀恐怖秉宿,靈堂內的尸體忽然破棺而出,到底是詐尸還是另有隱情屯碴,我是刑警寧澤描睦,帶...
    沈念sama閱讀 36,527評論 5 351
  • 正文 年R本政府宣布,位于F島的核電站导而,受9級特大地震影響忱叭,放射性物質發(fā)生泄漏。R本人自食惡果不足惜今艺,卻給世界環(huán)境...
    茶點故事閱讀 42,211評論 3 336
  • 文/蒙蒙 一韵丑、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧虚缎,春花似錦撵彻、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,699評論 0 25
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽轴合。三九已至,卻和暖如春碗短,著一層夾襖步出監(jiān)牢的瞬間受葛,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 33,814評論 1 274
  • 我被黑心中介騙來泰國打工偎谁, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留总滩,地道東北人。 一個月前我還...
    沈念sama閱讀 49,299評論 3 379
  • 正文 我出身青樓搭盾,卻偏偏與公主長得像咳秉,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子鸯隅,可洞房花燭夜當晚...
    茶點故事閱讀 45,870評論 2 361

推薦閱讀更多精彩內容

  • 概述 排序有內部排序和外部排序澜建,內部排序是數(shù)據(jù)記錄在內存中進行排序,而外部排序是因排序的數(shù)據(jù)很大蝌以,一次不能容納全部...
    蟻前閱讀 5,191評論 0 52
  • 概述:排序有內部排序和外部排序炕舵,內部排序是數(shù)據(jù)記錄在內存中進行排序,而外部排序是因排序的數(shù)據(jù)很大跟畅,一次不能容納全部...
    每天刷兩次牙閱讀 3,733評論 0 15
  • 1.插入排序—直接插入排序(Straight Insertion Sort) 基本思想: 將一個記錄插入到已排序好...
    依依玖玥閱讀 1,262評論 0 2
  • 前言 本篇文章基本是從常用排序算法總結(一)快速排序引申而來咽筋,其中大部分代碼和描述都來自這兩篇文章。 時間復雜度 ...
    王三的貓阿德閱讀 1,093評論 0 1
  • 馬上就要出iOS10了睹耐,但是還是有好多小伙伴不知道iOS9的新特性,這怎么能行呢部翘,今天就要給不知道小伙伴講一講硝训。 ...
    zhanming閱讀 1,787評論 3 33