用C语言编写:使用指向一维数组的指针作为函数参数,编写冒泡法、选择法实现从小到大排序的函数。并编写main()函数实现排序
时间: 2024-05-13 11:17:21 浏览: 94
冒泡排序函数实现代码:
```c
void bubbleSort(int *arr, int n) {
for (int i = 0; i < n - 1; i++) {
for (int j = 0; j < n - i - 1; j++) {
if (arr[j] > arr[j + 1]) {
int temp = arr[j];
arr[j] = arr[j + 1];
arr[j + 1] = temp;
}
}
}
}
```
选择排序函数实现代码:
```c
void selectionSort(int *arr, int n) {
for (int i = 0; i < n - 1; i++) {
int minIndex = i;
for (int j = i + 1; j < n; j++) {
if (arr[j] < arr[minIndex]) {
minIndex = j;
}
}
int temp = arr[i];
arr[i] = arr[minIndex];
arr[minIndex] = temp;
}
}
```
在 `main()` 函数中调用这两个函数,可以实现从小到大排序:
```c
#include <stdio.h>
void bubbleSort(int *arr, int n);
void selectionSort(int *arr, int n);
int main() {
int arr[] = {5, 2, 8, 3, 1, 6, 9, 4, 7};
int n = sizeof(arr) / sizeof(arr[0]);
printf("Original array: ");
for (int i = 0; i < n; i++) {
printf("%d ", arr[i]);
}
printf("\n");
bubbleSort(arr, n); // 或者使用 selectionSort(arr, n);
printf("Sorted array: ");
for (int i = 0; i < n; i++) {
printf("%d ", arr[i]);
}
printf("\n");
return 0;
}
```
阅读全文