国产chinesehd精品酒店,邱淑贞aa极毛片,国产在线色视频,玖玖爱zh综合伊人久久

選擇排序算法c語言代碼 選擇排序算法c語言代碼

更新時間:2024-08-26 00:09:03作者:未知

選擇排序算法c語言代碼 選擇排序算法c語言代碼

上次給大家講了三分鐘快速記住冒泡排序算法,今天給大家講講選擇排序算法,依然只用三分鐘就可以快速記住,跟著我一起來吧!

上動畫

給 “6 5 4 3 2 1” 6個數(shù)字增序排序的流程

大體過程:

我們把一串待排序的數(shù)字分為已排序、和待排序的兩類(當然,初始狀態(tài)全都是待排序的)。然后每一趟將待排序中的最小值和待排序中第1個元素交換,此時待排序中第1個元素就能歸到已排序中。將這個流程進行 6 趟就完成了排序。

選擇排序原理:

①、初始時在序列中找到最?。ù螅┰兀诺叫蛄械钠鹗嘉恢米鳛橐雅判蛐蛄?/p>

  ②、再從剩余未排序元素中繼續(xù)尋找最小(大)元素,放到已排序序列的末尾

?、邸⒁源祟愅?,直到所有元素均排序完畢。

選擇排序與冒泡排序區(qū)別:

選擇排序是在剩下的待排序數(shù)字里面找個最小的再交換;冒泡排序是看見小的就交換。

選擇排序代碼:

#include <cstdio>

/* 交換函數(shù)

* 傳入:待交換兩元素的地址 */

void swap(int *x, int *y) {

int temp = *x;

*x = *y;

*y = temp;

}

/* 增序的選擇排序

* 傳入:待排序數(shù)組a、數(shù)組元素個數(shù)n */

void selectSort(int a[], int n) {

/* 進行n趟操作 */

for(int i = 0; i < n; i++) {

int min_index = i; //記錄待排序部分中最小值的下標

/* 掃描待排序部分,知道到最小值的下標 */

for(int j = i; j < n; j ++) {

if(a[j] < a[min_index])

min_index = j; //時刻更新最小值下標

}

swap(a + i,a + min_index); //交換 當前位 和 待排序部分中最小值

}

}

int main() {

int a[] = {5,2,3,4,15,16,100,23,88};

selectSort(a, 9);

for(int i = 0; i < 9; i++)

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

//輸出結(jié)果:2 3 4 5 15 16 23 88 100

}

本文標簽: [db:關鍵詞]  

為您推薦

NBA首次父子同臺終上演,布朗尼與詹姆斯季前賽合砍19分

NBA首次父子同臺終上演,布朗尼與詹姆斯季前賽合砍19分,湖人,布朗尼,nba,NBA,勒布朗詹姆斯,勒布朗·詹姆斯,布雷克·格里芬

2024-10-07 14:39

杜特爾特否認參選:我都這把年紀了,要我死?

杜特爾特否認參選:我都這把年紀了,要我死?,杜特爾特,參議院,副總統(tǒng),總統(tǒng)

2024-10-07 14:38

男子花20萬買二手小米SU7,回家后遭原車主遠程鎖車

男子花20萬買二手小米SU7,回家后遭原車主遠程鎖車,小莉,過戶,約定,弓先生,購車合同,小米su7

2024-10-07 14:38

41歲俄羅斯男子模仿小李子走紅,卻在發(fā)福后失業(yè),已自愿去了前線

41歲俄羅斯男子模仿小李子走紅,卻在發(fā)福后失業(yè),已自愿去了前線,羅曼,采夫,俄羅斯,莫斯科,好萊塢,小李子,迪卡普里奧

2024-10-07 14:38

幫同學化妝最高日入近千(幫朋友化妝)

幫同學化妝最高日入近千?浙江大二女生沖上熱搜,彩妝,妝容,模特,王嘉琪,化妝師,浙江省

2024-10-07 13:43

外媒爆:伊朗伊斯蘭革命衛(wèi)隊“圣城旅”指揮官加尼在黎巴嫩失聯(lián)

外媒爆:伊朗伊斯蘭革命衛(wèi)隊“圣城旅”指揮官加尼在黎巴嫩失聯(lián),指揮官,圣城旅,納斯魯拉,伊朗伊斯蘭,黎巴嫩真主黨,伊斯蘭革命衛(wèi)隊,阿什拉夫·加尼

2024-10-07 13:43