中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

C言語選擇排序算法及代碼

發布時間:2020-10-06 15:29:06 來源:網絡 閱讀:271 作者:yuw2016 欄目:網絡安全

選擇排序是排序算法的一種,這里以從小到大排序為例停止解說。

根本思惟及舉例闡明

選擇排序(從小到大)的根本思惟是,起首,選出最小的數,放在第一個地位;然后,選出第二小的數,放在第二個地位;以此類推,直到一切的數從小到大排序。
在完成上,我們平日是先肯定第i小的數地點的地位,然后,將其與第i個數停止交流。
下面,以對 3  2  4  1 停止選擇排序闡明排序進程,運用min_index 記載以后最小的數地點的地位。
第1輪 排序進程 (尋覓第1小的數地點的地位)
3  2  4  1(最后, min_index=1)
3  2  4  1(3 > 2, 所以min_index=2)
3  2  4  1(2 < 4, 所以 min_index=2)
3  2  4  1(2 > 1, 所以 min_index=4, 這時分肯定了第1小的數在地位4)
1  2  4  3 (第1輪后果,將3和1交流,也就是地位1和地位4交流)
第2輪 排序進程 (尋覓第2小的數地點的地位)
1  2  4  3(第1輪后果, min_index=2,只需求從地位2開端尋覓)
1  2  4  3(4 > 2, 所以min_index=2)
1  2  4  3(3 > 2, 所以 min_index=2)
1  2  4  3(第2輪后果,由于min_index地位剛好在第2個地位,無需交流)
第3輪 排序進程 (尋覓第3小的數地點的地位)
1  2  4  3(第2輪后果, min_index=3,只需求從地位2開端尋覓)
1  2  4  3(4 > 3, 所以min_index=4)
1  2  3  4(第3輪后果,將3和4交流,也就是地位4和地位3交流)
至此,排序終了。

總結及完成

選擇排序對巨細為N的無序數組R[N]停止排序,停止N-1輪選擇進程。第i輪拔取第i小的數,并將其放在第i個地位上。當第N-1次完成時,第N小(也就是最大)的數天然在最初的地位上。
下面給出選擇排序的C言語完成。

			#include<stdio.h> #include<stdlib.h> #define N 8 void select_sort(int a[],int n); //選擇排序完成 void select_sort(int a[],int n)//n為數組a的元素個數 { //停止N-1輪選擇 for(int i=0; i<n-1; i++) { int min_index = i; //找出第i小的數地點的地位 for(int j=i+1; j<n; j++) { if(a[j] < a[min_index]) { min_index = j; } } //將第i小的數,放在第i個地位;假如剛好,就不必交流 if( i != min_index) { int temp = a[i]; a[i] = a[min_index]; a[min_index] = temp; } } } int main() { int num[N] = {89, 38, 11, 78, 96, 44, 19, 25}; select_sort(num, N); for(int i=0; i<N; i++) printf("%d  ", num[i]); printf("\n"); system("pause"); return 0; }

留意:選擇排序是一種不波動的排序算法,能夠會打亂兩個相反數字的原有次序。
例如,序列 5  8  5  2  9, 依照從小到大排序,第一輪會將第1個數字5會和2交流,那么原序列中2個5的絕對前后次序就被毀壞了,所以選擇排序是一種不波動的排序算法。


向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

喀什市| 十堰市| 内乡县| 家居| 安庆市| 从江县| 娱乐| 卓资县| 丰县| 中阳县| 临安市| 五寨县| 中卫市| 镇宁| 汕头市| 泗水县| 搜索| 广饶县| 前郭尔| 高密市| 汕头市| 达日县| 芦溪县| 墨竹工卡县| 陆川县| 保定市| 太仓市| 福建省| 岳阳市| 湛江市| 毕节市| 佛山市| 上蔡县| 伊川县| 偃师市| 望江县| 庆安县| 海城市| 略阳县| 河池市| 谷城县|