Blog
It's a Wonderful Life
选择排序算法
选择排序算法是另一种比较常用的排序算法,它比冒泡排序法的效率更高。 因为冒泡排序法每次内层循环都要进行N-1次比较置换,而排序算法内层循环一次性找出最小值,记录下标,然后再与当前参与循环的数组元素进行置换。
以下是选择排序法的代码实现。
#include<stdio.h>
#define NUM 10
int main(void) {
int num[NUM], i, j, k, temp;
printf("Please input %d numbers.\n", NUM);
//从用户处接收十个数字
for (i = 0; i < NUM; i++) {
scanf_s("%d", &num[i]);
}
for (i = 0; i < NUM - 1; i++) {
k = i;
for (j = i + 1; j < NUM; j++) {
if (num[k] > num[j]) {
k = j;
}
}
if (k != i) {
temp = num[i];
num[i] = num[k];
num[k] = temp;
}
}
//输出排序后的数组
for (i = 0; i < NUM; i++) {
printf("%d ", num[i]);
}
printf("\n");
}