实参,行参都为指针,实现冒泡算法C
时间: 2024-12-25 15:34:22 浏览: 6
在C语言中,如果你想要使用指针作为实参和形参来实现冒泡排序算法,你可以这样做:
```c
#include <stdio.h>
// 定义冒泡排序函数,接受两个整型指针作为参数
void bubbleSort(int* arr, int size) {
for (int i = 0; i < size - 1; i++) {
for (int j = 0; j < size - i - 1; j++) {
if (*(arr + j) > *(arr + j + 1)) { // 比较元素
int temp = *arr[j];
*arr[j] = *arr[j + 1]; // 交换元素
*arr[j + 1] = temp;
}
}
}
}
// 主函数演示如何传递数组指针
int main() {
int nums[] = {5, 2, 9, 1, 7}; // 待排序数组
int arraySize = sizeof(nums) / sizeof(nums[0]); // 数组长度
bubbleSort(nums, arraySize); // 调用冒泡排序函数,传入数组地址和大小
printf("Sorted array: ");
for (int i = 0; i < arraySize; i++) {
printf("%d ", nums[i]);
}
return 0;
}
```
在这个例子中,`bubbleSort`函数通过指针接收输入数组和它的大小,然后在函数内部通过解引用操作符 `*` 来访问并修改数组元素。在主函数中,我们创建了一个整数数组,并将其地址作为实参传递给`bubbleSort`。
阅读全文