排序系列--冒泡和選擇排序

最近在忙著找工作伪冰,所以準(zhǔn)備總結(jié)一下一下面試中經(jīng)常用的算法。雖然自己在下面也經(jīng)常研究算法的東西哄芜。但是好記性不如爛筆頭貌亭,還是寫篇博文記錄一下吧。
今天首先跟大家說的是排序认臊,因?yàn)槲覀€(gè)人現(xiàn)在做iOS開發(fā)圃庭,對(duì)于算法也慢慢成為了我個(gè)人的一個(gè)愛好,當(dāng)然我仍然會(huì)很用心的更新這一塊的內(nèi)容失晴,希望對(duì)大家有所幫助

冒泡排序

英文名字:Bubble Sort剧腻。他的原理就是重復(fù)的走訪要排序的數(shù)列,一次比較兩個(gè)元素师坎,如果他們的順序是錯(cuò)誤的恕酸,就把他們交換過來。走訪數(shù)列的工作是重復(fù)進(jìn)行的胯陋,直到?jīng)]有需要的交換為止蕊温,這個(gè)時(shí)候就說明數(shù)列已經(jīng)排序完成袱箱。這個(gè)算法名字由來是因?yàn)樵叫〉脑貢?huì)經(jīng)由交換慢慢“浮”到數(shù)列的頂端。
冒泡排序的過程:
1.比較兩個(gè)相鄰的元素义矛。如果第一個(gè)比第二個(gè)大就交換它們兩個(gè)
2.對(duì)每一對(duì)相鄰元素做同樣的工作发笔,從開始的第一對(duì)到結(jié)尾的最后一對(duì)。這步完成之后凉翻,最后的元素會(huì)是最大的數(shù)
3.針對(duì)所有的重復(fù)以上的步驟了讨,除了最后一個(gè)
4.持續(xù)每次對(duì)越來越少的元素重復(fù)上面的步驟,直到?jīng)]有任何的一對(duì)數(shù)字需要比較

實(shí)現(xiàn)代碼:(這里只給出C語言的實(shí)現(xiàn)代碼)

void bubble_sort (int arr[], int length)
{
         int i, j, temp;
         for (i = 0; i < length; i++)
                  for (j = 0; j < len - 1 - i; j++)
                          if (arr[j] > arr[j + 1])
                          {
                                 temp = arr[j];
                                  arr[j] = arr[j + 1];
                                  arr[j + 1] = arr[j];
                          }                                  

}

選擇排序

英文名字:Selection Sort制轰,是一種簡(jiǎn)單直觀的排序算法前计。他的工作原理如下。首先在未排序數(shù)列中找到最欣取(大)元素男杈,存放到排序序列的起始位置,然后调俘,再?gòu)氖S嗟奈磁判蛟刂袑ふ易钚伶棒。ù螅┰兀缓蠓诺揭雅判蛐蛄械哪┪膊士狻R源祟愅品粑蓿钡剿械脑鼐帕型戤叀?br> 排序過程:
1.依次比較數(shù)列中的每一個(gè)數(shù),找出其中的最大值
2.交換最大值第一個(gè)數(shù)的位置
3.對(duì)剩余的數(shù)重復(fù)上述的步驟骇钦,直到剩余數(shù)的個(gè)數(shù)為0
實(shí)現(xiàn)代碼:

void selection_sort(int arr[], int len) 
 {
        int i, j, min, temp;
        for (i = 0; i < len; i++)
        {
                min = i;
                for (j = i + 1; j < len; j++)
                {
                        if (arr[min] > arr[j])
                                min = j;
                }
                temp = arr[min];
                arr[min] = arr[i];
                arr[i] = temp;
        }
}
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末宛渐,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子司忱,更是在濱河造成了極大的恐慌皇忿,老刑警劉巖,帶你破解...
    沈念sama閱讀 219,188評(píng)論 6 508
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件坦仍,死亡現(xiàn)場(chǎng)離奇詭異鳍烁,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī)繁扎,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,464評(píng)論 3 395
  • 文/潘曉璐 我一進(jìn)店門幔荒,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人梳玫,你說我怎么就攤上這事爹梁。” “怎么了提澎?”我有些...
    開封第一講書人閱讀 165,562評(píng)論 0 356
  • 文/不壞的土叔 我叫張陵姚垃,是天一觀的道長(zhǎng)。 經(jīng)常有香客問我盼忌,道長(zhǎng)积糯,這世上最難降的妖魔是什么掂墓? 我笑而不...
    開封第一講書人閱讀 58,893評(píng)論 1 295
  • 正文 為了忘掉前任,我火速辦了婚禮看成,結(jié)果婚禮上君编,老公的妹妹穿的比我還像新娘。我一直安慰自己川慌,他們只是感情好吃嘿,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,917評(píng)論 6 392
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著梦重,像睡著了一般兑燥。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上忍饰,一...
    開封第一講書人閱讀 51,708評(píng)論 1 305
  • 那天贪嫂,我揣著相機(jī)與錄音,去河邊找鬼艾蓝。 笑死,一個(gè)胖子當(dāng)著我的面吹牛斗塘,可吹牛的內(nèi)容都是我干的赢织。 我是一名探鬼主播,決...
    沈念sama閱讀 40,430評(píng)論 3 420
  • 文/蒼蘭香墨 我猛地睜開眼馍盟,長(zhǎng)吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼于置!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起贞岭,我...
    開封第一講書人閱讀 39,342評(píng)論 0 276
  • 序言:老撾萬榮一對(duì)情侶失蹤八毯,失蹤者是張志新(化名)和其女友劉穎,沒想到半個(gè)月后瞄桨,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體话速,經(jīng)...
    沈念sama閱讀 45,801評(píng)論 1 317
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,976評(píng)論 3 337
  • 正文 我和宋清朗相戀三年芯侥,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了泊交。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 40,115評(píng)論 1 351
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡柱查,死狀恐怖廓俭,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情唉工,我是刑警寧澤研乒,帶...
    沈念sama閱讀 35,804評(píng)論 5 346
  • 正文 年R本政府宣布,位于F島的核電站淋硝,受9級(jí)特大地震影響雹熬,放射性物質(zhì)發(fā)生泄漏错维。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,458評(píng)論 3 331
  • 文/蒙蒙 一橄唬、第九天 我趴在偏房一處隱蔽的房頂上張望赋焕。 院中可真熱鬧,春花似錦仰楚、人聲如沸隆判。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,008評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽侨嘀。三九已至,卻和暖如春捂襟,著一層夾襖步出監(jiān)牢的瞬間咬腕,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 33,135評(píng)論 1 272
  • 我被黑心中介騙來泰國(guó)打工葬荷, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留涨共,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 48,365評(píng)論 3 373
  • 正文 我出身青樓宠漩,卻偏偏與公主長(zhǎng)得像举反,于是被迫代替她去往敵國(guó)和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子扒吁,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,055評(píng)論 2 355

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

  • Ba la la la ~ 讀者朋友們火鼻,你們好啊,又到了冷鋒時(shí)間雕崩,話不多說魁索,發(fā)車! 1.冒泡排序(Bub...
    王飽飽閱讀 1,797評(píng)論 0 7
  • 排序算法 冒泡排序 選擇排序 插入排序 快速排序(最常見) 希爾排序 歸并排序 源碼:Sorting 冒泡排序 冒...
    廖少少閱讀 2,724評(píng)論 12 101
  • 20170416覺察日記 今天上午在維景酒店的一季度表彰會(huì)上 睿麟系列成為了整個(gè)會(huì)場(chǎng)一道最靚麗的風(fēng)景盼铁!之后在最東北...
    HappyEagle閱讀 204評(píng)論 0 0
  • 寶寶被出軌的事兒現(xiàn)還在持續(xù)發(fā)酵中 不但搶了奧運(yùn)的頭條 還讓我們發(fā)現(xiàn)出生農(nóng)村的他 原來早已身價(jià)上億了 王寶強(qiáng)即將分割...
    利贈(zèng)商城閱讀 282評(píng)論 0 0
  • 睡到中午起床,沉痛迎接今年最后一個(gè)長(zhǎng)假假期的最后一天趁窃。 下午基本都在爆刷FGO和FIFA牧挣,后者的游戲模式也是越來越...
    真晝之月閱讀 98評(píng)論 0 0