程序员面试系列——选择排序
生活随笔
收集整理的這篇文章主要介紹了
程序员面试系列——选择排序
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
選擇排序也屬于蠻力法。
首先,掃描整個列表,找到最小的元素,將其和第一個元素交換位置;然后從第二個元素開始掃描列表,找到最小的元素,再將其和第二個元素交換位置……直到從倒數第二個元素開始掃描列表,找到最小的元素,將其和倒數第二個元素交換位置。
示意圖如下。
C語言代碼是:
void swap(int *a, int *b) {int temp;temp = *a;*a = *b;*b = temp; }//整形數組首地址是arr,數組長度為len,從左至右非降序排列 void select_sort(int *arr, int len) {int i, j, min;for (i = 0; i < len - 1; ++i) {min = i;for (j = i + 1; j < len; ++j){if (arr[min] > arr[j])min = j;}if(min != i)swap(arr+i, arr+min);} }【完】
總結
以上是生活随笔為你收集整理的程序员面试系列——选择排序的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 淘汰率最高的腾讯产品面试题
- 下一篇: c语言 统计数量用count_请问c语言