一维数组元素排序,要求如下: 使用选择法实现 使用函数调用的方式
时间: 2023-11-28 09:50:12 浏览: 67
C语言程序设计-编写函数用选择排序法对数组中的数据进行从小到大的排序;
5星 · 资源好评率100%
下面是使用选择法实现一维数组元素排序的示例代码,包含函数调用方式:
```c
#include <stdio.h>
void selection_sort(int arr[], int n);
void print_array(int arr[], int n);
int main() {
int arr[] = {5, 3, 9, 1, 7};
int n = sizeof(arr) / sizeof(arr[0]);
printf("Original array: ");
print_array(arr, n);
selection_sort(arr, n);
printf("Sorted array: ");
print_array(arr, n);
return 0;
}
void selection_sort(int arr[], int n) {
int i, j, min_idx;
for (i = 0; i < n-1; i++) {
min_idx = i;
for (j = i+1; j < n; j++) {
if (arr[j] < arr[min_idx]) {
min_idx = j;
}
}
int temp = arr[i];
arr[i] = arr[min_idx];
arr[min_idx] = temp;
}
}
void print_array(int arr[], int n) {
int i;
for (i = 0; i < n; i++) {
printf("%d ", arr[i]);
}
printf("\n");
}
```
输出结果为:
```
Original array: 5 3 9 1 7
Sorted array: 1 3 5 7 9
```
在上面的示例代码中,`selection_sort` 函数实现了选择法排序,`print_array` 函数用于打印数组元素。在 `main` 函数中,先打印出原始数组,然后调用 `selection_sort` 函数对数组进行排序,最后再打印出排序后的数组。
如果要对其他一维数组进行排序,只需要将数组和数组长度作为参数传递给 `selection_sort` 函数即可。
阅读全文