2018-09-13第三次課

學(xué)寫簡書

c語言排序算法

兩種方法:選擇與冒泡

  • 選擇排序:
    首先在未排序序列中找到最刑(大)元素军浆,存放到排序序列的起始位置,然后微饥,再從剩余未排序元素中繼續(xù)尋找最卸喊恰(大)元素,然后放到已排序序列的末尾欠橘。以此類推矩肩,直到所有元素均排序完畢。
    特點
    若按降序排列肃续,第一次比較:則是將數(shù)組的第一個元素與數(shù)組中從第二個元素開始到最后的元素進行比較找到最大的數(shù)記錄下來然后將值賦值給數(shù)組的第一個元素黍檩,然后進行第二次比較:則是將數(shù)組的第二個元素與數(shù)組中從第三個元素開始到最后的元素進行比較,找最大的數(shù)記錄下來將值賦值給數(shù)組的第二個元素始锚。建炫。。依次循環(huán)找完疼蛾。
    image.png

    代碼:
#include<stdio.h>
void SelectionSort(int *num,int n)
{
 int i = 0;
 int min = 0;
 int j = 0;
 int tmp = 0;
 for(i = 0;i < n-1;i++)
 {
    min = i;//每次講min置成無序組起始位置元素下標(biāo) 
    for(j = i;j < n;j++)//遍歷無序組肛跌,找到最小元素。 
      {
      if(num[min]>num[j])
          {
       min = j;
           }
        }
    if(min != i)//如果最小元素不是無序組起始位置元素,則與起始元素交換位置 
    {
      tmp = num[min];
      num[min] = num[i];
      num[i] = tmp;
    }
 }
}
 
int main()
{
 int num[6] = {5,4,3,2,9,1};
 int i = 0;
 SelectionSort(num,6);//這里需要將數(shù)列元素個數(shù)傳入衍慎。有心者可用sizeof在函數(shù)內(nèi)求得元素個數(shù)转唉。 
 for(i = 0;i < 6;i++)
 {
   printf("%d ",num[i]);
 }
 return 0;
}

來源:
C語言選擇排序詳解及其實現(xiàn)

  • 冒泡排序:
    它重復(fù)地走訪過要排序的數(shù)列,一次比較兩個元素稳捆,如果他們的順序錯誤就把他們交換過來赠法。走訪數(shù)列的工作是重復(fù)地進行直到?jīng)]有再需要交換,也就是說該數(shù)列已經(jīng)排序完成乔夯。因為越大的元素會經(jīng)由交換慢慢“浮”到數(shù)列的頂端砖织,故名“冒泡排序”。
    特點
  1. 比較相鄰的元素末荐。如果第一個比第二個大侧纯,就交換它們兩個;
  2. 對每一對相鄰元素作同樣的工作甲脏,從開始第一對到結(jié)尾的最后一對眶熬,這樣在最后的元素應(yīng)該會是最大的數(shù);
  3. 針對所有的元素重復(fù)以上的步驟块请,除了最后一個娜氏;
  4. 重復(fù)步驟1~3,直到排序完成墩新。
    image.png

    代碼:
#include<stdio.h>
#include<stdlib.h>
void bubblesort(int *p,int len)
{
int i = 0;
int j = 0;
for(i = 0;i<len-1;i++)
{
/*每排序一趟贸弥,則至少有一個元素已經(jīng)有序,
用 j<len-i-1 可以縮小排序范圍 */
for(j = 0;j<len -1-i;j++)
{
/*當(dāng)前面的元素大于后面的元素時海渊,交換位置*/
if(p[j]>p[j+1])
{
int tmp = p[j];
p[j] = p[j+1];
p[j+1] = tmp;
    }
}
}
}
int main()
{
int num[5]={3,1,5,6,2};
int i=0;
bubblesort(num,5);
for(i=0;i<5;i++)
{
printf("%d ",num[i]);
}
return 0;
} 
printf("%d ",num[i]);
}
return 0;
} 

來源:
冒泡排序算法及其優(yōu)化

主函數(shù)為int main()中的內(nèi)容绵疲。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市切省,隨后出現(xiàn)的幾起案子最岗,更是在濱河造成了極大的恐慌,老刑警劉巖朝捆,帶你破解...
    沈念sama閱讀 206,723評論 6 481
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件般渡,死亡現(xiàn)場離奇詭異,居然都是意外死亡芙盘,警方通過查閱死者的電腦和手機驯用,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,485評論 2 382
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來儒老,“玉大人蝴乔,你說我怎么就攤上這事⊥苑” “怎么了薇正?”我有些...
    開封第一講書人閱讀 152,998評論 0 344
  • 文/不壞的土叔 我叫張陵片酝,是天一觀的道長。 經(jīng)常有香客問我挖腰,道長雕沿,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 55,323評論 1 279
  • 正文 為了忘掉前任猴仑,我火速辦了婚禮审轮,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘辽俗。我一直安慰自己疾渣,他們只是感情好,可當(dāng)我...
    茶點故事閱讀 64,355評論 5 374
  • 文/花漫 我一把揭開白布崖飘。 她就那樣靜靜地躺著榴捡,像睡著了一般。 火紅的嫁衣襯著肌膚如雪坐漏。 梳的紋絲不亂的頭發(fā)上薄疚,一...
    開封第一講書人閱讀 49,079評論 1 285
  • 那天碧信,我揣著相機與錄音赊琳,去河邊找鬼。 笑死砰碴,一個胖子當(dāng)著我的面吹牛躏筏,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播呈枉,決...
    沈念sama閱讀 38,389評論 3 400
  • 文/蒼蘭香墨 我猛地睜開眼趁尼,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了猖辫?” 一聲冷哼從身側(cè)響起酥泞,我...
    開封第一講書人閱讀 37,019評論 0 259
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎啃憎,沒想到半個月后芝囤,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 43,519評論 1 300
  • 正文 獨居荒郊野嶺守林人離奇死亡辛萍,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 35,971評論 2 325
  • 正文 我和宋清朗相戀三年悯姊,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片贩毕。...
    茶點故事閱讀 38,100評論 1 333
  • 序言:一個原本活蹦亂跳的男人離奇死亡悯许,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出辉阶,到底是詐尸還是另有隱情先壕,我是刑警寧澤瘩扼,帶...
    沈念sama閱讀 33,738評論 4 324
  • 正文 年R本政府宣布,位于F島的核電站垃僚,受9級特大地震影響邢隧,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜冈在,卻給世界環(huán)境...
    茶點故事閱讀 39,293評論 3 307
  • 文/蒙蒙 一倒慧、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧包券,春花似錦纫谅、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,289評論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至侍郭,卻和暖如春询吴,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背亮元。 一陣腳步聲響...
    開封第一講書人閱讀 31,517評論 1 262
  • 我被黑心中介騙來泰國打工猛计, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人爆捞。 一個月前我還...
    沈念sama閱讀 45,547評論 2 354
  • 正文 我出身青樓奉瘤,卻偏偏與公主長得像,于是被迫代替她去往敵國和親煮甥。 傳聞我的和親對象是個殘疾皇子盗温,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 42,834評論 2 345

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

  • 本文首發(fā)于我的個人博客:尾尾部落 排序算法是最經(jīng)典的算法知識。因為其實現(xiàn)代碼短成肘,應(yīng)該廣卖局,在面試中經(jīng)常會問到排序算法...
    繁著閱讀 4,569評論 3 119
  • 排序算法說明 (1)排序的定義:對一序列對象根據(jù)某個關(guān)鍵字進行排序; 輸入:n個數(shù):a1,a2,a3,…,an 輸...
    code武閱讀 651評論 0 0
  • 認(rèn)識"簡書"緣于自己也曾想開創(chuàng)一個交流的平臺蟹演,前幾天剛畢業(yè)幾年的小姑娘A跟我談起工作后的迷茫,同時即將踏入婚姻圍城...
    techiezhang閱讀 128評論 0 0
  • 這篇文章最符合我當(dāng)下心境顷蟀,分享下: 你觀察過天上的云嗎酒请?你注意看,有時候云的形狀就好像一朵花鸣个,然后它開始改變羞反,變成...
    丹靈雅音閱讀 135評論 0 0
  • 這一天昼窗,天還沒亮是趴,遙遠(yuǎn)的天空上還依稀有幾顆淡淡的星星,整個天空都黑乎乎的澄惊,樹林里漆黑一片唆途,什么也看不見。松鼠爸爸睜...
    一葉蘭芷閱讀 851評論 0 3