#include <stdio.h>
int main()
{
// 定义变量
int k = 0;
// 定义数组
int n[] = {90, 23, 34, 12, 56, 67, 89, 45, 78};
// 计算数组元素个数
int num = ((sizeof(n)) / (sizeof(n[0])));
// 遍历排序之前数组的元素
printf("排序之前数组的元素:");
for (int i = 0; i < num; i++){
printf("%d ", n[i]);
}
printf("\n");
// 排序的次数
for (int i = 0; i < (num - 1); i++){
// 从数组的第一个元素开始比较
// 满足条件(按照小到大的顺序)就修改 k 的值
// 使用较小的值再去比较,直到找出数组中最小的值
// 放到 i(i = 0)的位置
k = i;
for (int j = (i +1); j < num; j++){
// 比较两个元素的大小
if (n[k] > n[j]){
// 记录比 n[k] 小的元素的下标
k = j;
}
}
// 找到最后一个元素,k 的值发生变换(意味着找到满足条件的数值了)
// 交换两个元素的值
if (k != i){
// 交换两个元素的值
int temp = n[i];
n[i] = n[k];
n[k] = temp;
}
}
// 遍历排序之后数组的元素
printf("排序之后数组的元素:");
for (int i = 0; i < num; i++){
printf("%d ", n[i]);
}
printf("\n");
return 0;
}
数组排序-选择排序法
于 2025-10-26 21:17:28 首次发布
1114

被折叠的 条评论
为什么被折叠?



