亚洲精品久久久久久第一页-人妻少妇精彩视品一区二区三区-91国产自拍免费视频-免费一级a在线播放视频正片-少妇天天日天天射天天爽-国产大屁股喷水视频在线观看-操美女骚穴抽插性爱视频-亚洲 欧美 中文字幕 丝袜-成人免费无码片在线观看

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


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

文章插圖
上次給大家講了三分鐘快速記住冒泡排序算法,今天給大家講講選擇排序算法,依然只用三分鐘就可以快速記住,跟著我一起來吧!
上動畫給 “6 5 4 3 2 1” 6個數(shù)字增序排序的流程
大體過程:
我們把一串待排序的數(shù)字分為已排序、和待排序的兩類(當(dāng)然,初始狀態(tài)全都是待排序的) 。然后每一趟將待排序中的最小值和待排序中第1個元素交換,此時待排序中第1個元素就能歸到已排序中 。將這個流程進行 6 趟就完成了排序 。
選擇排序原理:
①、初始時在序列中找到最?。ù螅┰兀诺叫蛄械钠鹗嘉恢米鳛橐雅判蛐蛄?br /> ②、再從剩余未排序元素中繼續(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); //交換 當(dāng)前位 和 待排序部分中最小值
}
}
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
}


    以上關(guān)于本文的內(nèi)容,僅作參考!溫馨提示:如遇健康、疾病相關(guān)的問題,請您及時就醫(yī)或請專業(yè)人士給予相關(guān)指導(dǎo)!

    「愛刨根生活網(wǎng)」www.malaban59.cn小編還為您精選了以下內(nèi)容,希望對您有所幫助: