C语言使用指向一维数组元素的指针作为函数参数,编写冒泡法、选择法实现从小到大排序的函数。并编写main()函数实现排序。
时间: 2024-02-09 11:09:05 浏览: 72
好的,下面是相应的 C 代码:
```c
#include <stdio.h>
// 冒泡排序函数
void bubbleSort(int arr[], int n) {
int i, j, temp;
for(i = 0; i < n - 1; i++) {
for(j = 0; j < n - i - 1; j++) {
if(arr[j] > arr[j + 1]) {
temp = arr[j];
arr[j] = arr[j + 1];
arr[j + 1] = temp;
}
}
}
}
// 选择排序函数
void selectionSort(int arr[], int n) {
int i, j, minIndex, temp;
for(i = 0; i < n - 1; i++) {
minIndex = i;
for(j = i + 1; j < n; j++) {
if(arr[j] < arr[minIndex]) {
minIndex = j;
}
}
temp = arr[i];
arr[i] = arr[minIndex];
arr[minIndex] = temp;
}
}
int main() {
int arr[] = {5, 9, 1, 3, 4, 6, 8, 2, 7}; // 待排序数组
int n = sizeof(arr) / sizeof(arr[0]); // 数组长度
// 冒泡排序
bubbleSort(arr, n);
printf("冒泡排序结果:");
for(int i = 0; i < n; i++) {
printf("%d ", arr[i]);
}
printf("\n");
// 选择排序
selectionSort(arr, n);
printf("选择排序结果:");
for(int i = 0; i < n; i++) {
printf("%d ", arr[i]);
}
printf("\n");
return 0;
}
```
上述代码中,`bubbleSort` 函数实现了冒泡排序算法,`selectionSort` 函数实现了选择排序算法。在 `main` 函数中,我们定义了一个待排序的数组 `arr`,并计算出其长度 `n`。随后,我们先使用冒泡排序对 `arr` 进行排序,并输出排序结果;然后使用选择排序对 `arr` 进行排序,并输出排序结果。
阅读全文