简单选择排序 c代码
生活随笔
收集整理的這篇文章主要介紹了
简单选择排序 c代码
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
簡單選擇排序思路是從i開始遍歷,選擇最小值插入到arr[ i ], 下一次從i + 1處遍歷,直到遍歷完成。思路和冒泡排序剛好相反,冒泡排序是每次遍歷時選取最大值,簡單選擇遍歷每次選取最小值,冒泡排序過程的確像水中冒泡的樣子,但要是這樣,簡單選擇排序不是應該叫做沉底排序嗎?每次遍歷,最小值沉了下去。
代碼比較簡單,遍歷選取最小值。下面是c語言實現:
//兩數交換 void swap(int *a, int *b) {*a = *a ^ *b;*b = *a ^ *b;*a = *a ^ *b; }//簡單選擇排序 void selectSort(int *arr, int numsSize) {int i, j, minLoc, minValue;minValue = arr[0];for (i = 0; i < numsSize - 1; i++){//保存當前最小值及所在位置minLoc = i;minValue = arr[i];//查找最小值for (j = i + 1; j < numsSize; j++){if (minValue > arr[j]){minValue = arr[j];minLoc = j;} }//保存if (i != minLoc)swap (arr + i, arr + minLoc);} }=============================================================================================
Linux應用程序、內核、驅動、后臺開發交流討論群(745510310),感興趣的同學可以加群討論、交流、資料查找等,前進的道路上,你不是一個人奧^_^。
?
總結
以上是生活随笔為你收集整理的简单选择排序 c代码的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 闲鱼那么多618李佳琦直播间三顿半改地址
- 下一篇: 动态规划 dp02 最长非降子序列问题