使用指针作为函数的参数,编写程序,设计一个函数实现对数组数据的逆序
时间: 2024-12-15 20:27:16 浏览: 4
逆序存放数组_技术要点-client-side.data.storage.keeping.it.local.14919
在C++中,我们可以使用指针作为函数参数来实现数组逆序的功能。这是因为指针可以直接操作内存地址,所以可以方便地修改原数组的内容。下面是一个简单的示例:
```cpp
#include <iostream>
// 函数模板,接受指向数组首元素的指针,以及数组长度
template<typename T>
void reverseArray(T* arr, size_t len) {
// 如果数组为空或者只包含一个元素,无需反转
if (len <= 1) return;
// 双指针法,从两端开始交换元素
T* start = arr; // 指向数组开头
T* end = arr + len - 1; // 指向数组结尾
while (start < end) {
std::swap(*start, *end); // 交换两个指针所指向的元素
start++; // 向右移动起始指针
end--; // 向左移动结束指针
}
}
int main() {
int arr[] = {1, 2, 3, 4, 5};
const size_t len = sizeof(arr) / sizeof(arr[0]);
std::cout << "Before reversing:\n";
for (size_t i = 0; i < len; i++) {
std::cout << arr[i] << " ";
}
reverseArray(arr, len);
std::cout << "\nAfter reversing:\n";
for (size_t i = 0; i < len; i++) {
std::cout << arr[i] << " ";
}
return 0;
}
```
在这个例子中,`reverseArray`函数通过改变传入指针的位置,实现了对数组元素的逆序。运行此程序,你会看到数组在调用该函数之后内容反向了。
阅读全文