用c语言并且使用两个函数的选择法对随机产生的 10 个整数按从小到大的顺序排序
时间: 2024-02-05 21:11:39 浏览: 106
C语言生成不同的随机数,并从小到大排序
5星 · 资源好评率100%
可以使用以下代码实现:
```c
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
void selection_sort(int arr[], int n); // 选择排序函数
int main() {
srand(time(NULL)); // 初始化随机数种子
int arr[10]; // 存储随机数的数组
printf("随机生成的10个整数为:");
for (int i = 0; i < 10; i++) {
arr[i] = rand() % 100; // 生成范围在 0~99 的随机数
printf("%d ", arr[i]);
}
printf("\n");
selection_sort(arr, 10); // 调用选择排序函数
printf("从小到大排序后的结果为:");
for (int i = 0; i < 10; i++) {
printf("%d ", arr[i]);
}
printf("\n");
return 0;
}
void selection_sort(int arr[], int n) {
int min_index, temp;
for (int i = 0; i < n - 1; i++) {
min_index = i;
for (int j = i + 1; j < n; j++) {
if (arr[j] < arr[min_index]) {
min_index = j;
}
}
if (min_index != i) {
temp = arr[i];
arr[i] = arr[min_index];
arr[min_index] = temp;
}
}
}
```
选择排序的基本思路是,每次找到未排序部分中最小的元素,然后将其与未排序部分的第一个元素交换位置,从而将该元素放到已排序部分的末尾。重复这个过程,直到所有元素都被排序。在上面的代码中,`selection_sort` 函数就是选择排序的实现,它通过两个嵌套的循环遍历整个数组,找到未排序部分中最小的元素,并将其与未排序部分的第一个元素交换位置。最后,主函数调用 `selection_sort` 函数对随机生成的数组进行排序,并输出结果。
阅读全文