网站怎么做跳转链接,wordpress 录音,中国建设信息网站,wordpress移动端访问一、题目思路 选择排序是一种简单直观的排序算法。它的工作原理是#xff1a;首先在未排序序列中找到最小#xff08;或最大#xff09;元素#xff0c;存放到排序序列的起始位置#xff0c;然后#xff0c;再从剩余未排序元素中继续寻找最小#xff08;或最大#xff…一、题目思路 选择排序是一种简单直观的排序算法。它的工作原理是首先在未排序序列中找到最小或最大元素存放到排序序列的起始位置然后再从剩余未排序元素中继续寻找最小或最大元素然后放到已排序序列的末尾。以此类推直到所有元素均排序完毕
外层循环只需要排n-1个数
内层循环比较时j从下一个数开始直到最后一个数记下最小值索引
二、代码实现
#include stdio.hvoid select_sort(int *arr, int size)
{int i;int j;int tmp;int min_index 0;//排n-1个位置即可for (i 0; i size - 1; i) {//找未排序数组中最小元素记下索引用于与待排位置交换min_index i;for (j i1; j size; j){if (arr[j] arr[min_index]) {min_index j;} }tmp arr[i];arr[i] arr[min_index];arr[min_index] tmp;}return;
}void show(int *arr, int size)
{for (int i 0; i size; i) {if (isize-1)printf(%d\n, arr[i]);elseprintf(%d,, arr[i]);}return;
}int main()
{int num[] {33,5,18,1,1,2,9};int size sizeof(num)/sizeof(int);show(num, size);select_sort(num, size);show(num, size);return 0;
}
排序前
33,5,18,1,1,2,9
排序后
1,1,2,5,9,18,33