用c++编写利用指针作为形参编写函数Sort1;利用该函数,可以把主程序中的a,b,c三个int型变量从小到大排序,并把最小值到最大值分别存放在a,b,c中;在主程序中使用这个函数,输出交换前和交换后a.b,c的值。
时间: 2024-10-07 09:05:08 浏览: 48
在C++中,你可以通过使用指针来传递数组元素并实现这样的功能。首先,创建一个函数`Sort1`,它接受指向整数数组的指针以及数组的大小。然后在函数内部,可以使用经典的冒泡排序算法或者其他排序算法对数组元素进行排序。接下来是在主程序中如何使用这个函数:
```cpp
#include <iostream>
// 定义排序函数 Sort1,接受指针和数组长度作为参数
void Sort1(int* arr, int n) {
// 冒泡排序实现
for (int i = 0; i < n - 1; ++i) {
for (int j = 0; j < n - 1 - i; ++j) {
if (*arr[j] > *arr[j + 1]) {
// 交换元素
int temp = *arr[j];
*arr[j] = *arr[j + 1];
*arr[j + 1] = temp;
}
}
}
}
int main() {
int a = 5, b = 2, c = 8; // 原始数值
int arr[3] = {a, b, c}; // 将它们放入一个临时数组
// 使用 Sort1 函数对数组进行排序
Sort1(arr, sizeof(arr) / sizeof(arr[0]));
// 输出排序前的数据
std::cout << "Before sorting: a=" << arr[0] << ", b=" << arr[1] << ", c=" << arr[2] << std::endl;
// 检查是否已按预期排序
std::cout << "After sorting: a=" << arr[0] << ", b=" << arr[1] << ", c=" << arr[2] << std::endl;
return 0;
}
```
在这个例子中,`Sort1`函数会改变传入数组的顺序,所以主程序不需要再做其他操作。注意,实际应用中可能需要处理更多边界条件和异常情况。
阅读全文