用c语音,使用指向一维数组元素的指针作为函数参数,编写冒泡法、选择法实现从小到大排序的函数。并编写main()函数实现排序
时间: 2024-02-06 18:08:45 浏览: 79
下面是使用指向一维数组元素的指针作为函数参数,实现冒泡排序和选择排序的示例代码:
```c
#include <stdio.h>
// 冒泡排序
void bubble_sort(int *arr, int len) {
int i, j, tmp;
for (i = 0; i < len - 1; i++) {
for (j = 0; j < len - 1 - i; j++) {
if (arr[j] > arr[j + 1]) {
tmp = arr[j];
arr[j] = arr[j + 1];
arr[j + 1] = tmp;
}
}
}
}
// 选择排序
void selection_sort(int *arr, int len) {
int i, j, min_idx, tmp;
for (i = 0; i < len - 1; i++) {
min_idx = i;
for (j = i + 1; j < len; j++) {
if (arr[j] < arr[min_idx]) {
min_idx = j;
}
}
if (min_idx != i) {
tmp = arr[i];
arr[i] = arr[min_idx];
arr[min_idx] = tmp;
}
}
}
int main() {
int arr[] = {3, 5, 1, 4, 2};
int len = sizeof(arr) / sizeof(int);
int i;
// 冒泡排序
bubble_sort(arr, len);
printf("冒泡排序结果:");
for (i = 0; i < len; i++) {
printf("%d ", arr[i]);
}
printf("\n");
// 选择排序
selection_sort(arr, len);
printf("选择排序结果:");
for (i = 0; i < len; i++) {
printf("%d ", arr[i]);
}
printf("\n");
return 0;
}
```
输出结果为:
```
冒泡排序结果:1 2 3 4 5
选择排序结果:1 2 3 4 5
```
阅读全文