三个整数由小到大排序住函数调用指针形参 引用形参c++
时间: 2024-10-11 15:08:38 浏览: 38
c++指针使用形参改变实参的方法
在C++中,如果你想对三个整数进行排序并传递给一个函数,你可以选择使用函数指针或引用作为参数。这里分别介绍这两种情况:
1. **使用函数指针**:
```cpp
// 定义一个比较函数模板,用于排序
template <typename T>
void sort(int* arr, int count, CompareFunc<T> compare) {
for (int i = 0; i < count - 1; ++i) {
for (int j = 0; j < count - i - 1; ++j) {
if (compare(arr[j], arr[j + 1])) {
std::swap(arr[j], arr[j + 1]);
}
}
}
}
// 比较函数模板的实例化,用于比较整数
bool compareInts(int a, int b) {
return a < b;
}
// 调用函数
int numbers[] = {5, 2, 8};
sort(numbers, 3, compareInts);
```
2. **使用引用**:
```cpp
// 定义一个接受整数引用的函数
void sortByValue(int& num1, int& num2, int& num3) {
if (num1 > num2) {
std::swap(num1, num2);
}
if (num2 > num3) {
std::swap(num2, num3);
}
if (num1 > num2) {
stdswap(num1, num2);
}
}
// 调用函数
int numbers[] = {5, 2, 8};
sortByValue(numbers[0], numbers[1], numbers[2]);
```
阅读全文