排序方法之選擇排序法

上次铃将,我們介紹了排序方法中的冒泡排序法,今天我們來介紹另一個比較重要的排序方法---選擇排序法侦厚。

選擇排序法耻陕,顧名思義就是通過選擇,比較出的大(信俾佟)值放在前面诗宣,來依次進行排序。

下面舉一個例子來說明:有{5,9,7,3}四個數想诅,要求用選擇排序法將四個數由大到小進行排序召庞。

##第一步岛心,在四個數{5,9,7,3}中找出其中的最大值9,然后將第一個數5與9進行調換篮灼。得到{9,5,7,3};

##第二步鹉梨,在{9,5穿稳,7存皂,3}中后三個數中找出其中的最大值7,然后將第2個數5與7進行調換逢艘。得到{9,7,5,3};

##第三步旦袋,在{9,7它改,5疤孕,3}中后二個數中找出其中的最大值5 ,5>3央拖,無需交換位置祭阀。得到{9,7鲜戒,5专控,3}。

##最后遏餐,得到結果:{9伦腐,7,5失都,3}柏蘑。

下面用C程序來實現(xiàn)這個問題。

分析:

由上可知粹庞,4個數一共比較3次咳焚。那么n個數一共比較n-1次。首先庞溜,用外循環(huán)控制次數;其次革半,用內循環(huán)找出剩余元素中的最大值的序號,用k來儲存序號的值;然后强缘,將剩余元素中的第一個元素與剩余元素中的最大值;最后督惰,輸出結果不傅。

程序:

#include<stdio.h>

int main()

{

int i,j,k,t;

int a[4];

printf ("please enter 4 integer numbers:\n");

for (i=0;i<4;i++)

{

scanf("%d",&a[i]);

}

for (i=0;i<3;i++)

{

k=i;

for(j=i+1;j<4;j++)

{

if (a[j]>a[k])

{

k=j;

}

}

if (k!=i)

{

t=a[k];

a[k]=a[i];

a[i]=t;

}

}

printf ("The sorted order:\n");

for (i=0;i<4;i++)

{

printf("%d ",a[i]);

}

printf("\n");

return 0;

}

結果:

選擇排序法的結果
最后編輯于
?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
  • 序言:七十年代末旅掂,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子访娶,更是在濱河造成了極大的恐慌商虐,老刑警劉巖,帶你破解...
    沈念sama閱讀 206,839評論 6 482
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異秘车,居然都是意外死亡典勇,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,543評論 2 382
  • 文/潘曉璐 我一進店門叮趴,熙熙樓的掌柜王于貴愁眉苦臉地迎上來割笙,“玉大人,你說我怎么就攤上這事眯亦∩烁龋” “怎么了?”我有些...
    開封第一講書人閱讀 153,116評論 0 344
  • 文/不壞的土叔 我叫張陵妻率,是天一觀的道長乱顾。 經常有香客問我,道長宫静,這世上最難降的妖魔是什么走净? 我笑而不...
    開封第一講書人閱讀 55,371評論 1 279
  • 正文 為了忘掉前任,我火速辦了婚禮孤里,結果婚禮上伏伯,老公的妹妹穿的比我還像新娘。我一直安慰自己捌袜,他們只是感情好舵鳞,可當我...
    茶點故事閱讀 64,384評論 5 374
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著琢蛤,像睡著了一般蜓堕。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上博其,一...
    開封第一講書人閱讀 49,111評論 1 285
  • 那天套才,我揣著相機與錄音,去河邊找鬼慕淡。 笑死背伴,一個胖子當著我的面吹牛,可吹牛的內容都是我干的峰髓。 我是一名探鬼主播傻寂,決...
    沈念sama閱讀 38,416評論 3 400
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼携兵!你這毒婦竟也來了疾掰?” 一聲冷哼從身側響起,我...
    開封第一講書人閱讀 37,053評論 0 259
  • 序言:老撾萬榮一對情侶失蹤徐紧,失蹤者是張志新(化名)和其女友劉穎静檬,沒想到半個月后炭懊,有當地人在樹林里發(fā)現(xiàn)了一具尸體,經...
    沈念sama閱讀 43,558評論 1 300
  • 正文 獨居荒郊野嶺守林人離奇死亡拂檩,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內容為張勛視角 年9月15日...
    茶點故事閱讀 36,007評論 2 325
  • 正文 我和宋清朗相戀三年侮腹,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片稻励。...
    茶點故事閱讀 38,117評論 1 334
  • 序言:一個原本活蹦亂跳的男人離奇死亡父阻,死狀恐怖,靈堂內的尸體忽然破棺而出望抽,到底是詐尸還是另有隱情至非,我是刑警寧澤,帶...
    沈念sama閱讀 33,756評論 4 324
  • 正文 年R本政府宣布糠聪,位于F島的核電站荒椭,受9級特大地震影響,放射性物質發(fā)生泄漏舰蟆。R本人自食惡果不足惜趣惠,卻給世界環(huán)境...
    茶點故事閱讀 39,324評論 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望身害。 院中可真熱鬧味悄,春花似錦、人聲如沸塌鸯。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,315評論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽丙猬。三九已至涨颜,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間茧球,已是汗流浹背庭瑰。 一陣腳步聲響...
    開封第一講書人閱讀 31,539評論 1 262
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留抢埋,地道東北人弹灭。 一個月前我還...
    沈念sama閱讀 45,578評論 2 355
  • 正文 我出身青樓,卻偏偏與公主長得像揪垄,于是被迫代替她去往敵國和親穷吮。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 42,877評論 2 345

推薦閱讀更多精彩內容

  • 第1章 第一個C程序第2章 C語言基礎第3章 變量和數據類型第4章 順序結構程序設計第5章 條件結構程序設計第6章...
    小獅子365閱讀 10,615評論 3 71
  • 背景 一年多以前我在知乎上答了有關LeetCode的問題, 分享了一些自己做題目的經驗。 張土汪:刷leetcod...
    土汪閱讀 12,724評論 0 33
  • C語言的學習要從基礎開始肪凛,這里是100個經典的算法-1C語言的學習要從基礎開始堰汉,這里是100個經典的 算法 題目:...
    Poison_19ce閱讀 1,124評論 0 0
  • 數組在程序設計中辽社,為了處理方便伟墙, 把具有相同類型的若干變量按有序的形式組織起來翘鸭。這些按序排列的同類數據元素的集合稱...
    朱森閱讀 3,895評論 2 13
  • 概述 排序有內部排序和外部排序,內部排序是數據記錄在內存中進行排序戳葵,而外部排序是因排序的數據很大就乓,一次不能容納全部...
    蟻前閱讀 5,164評論 0 52