本题要求实现一个函数,可实现数组的逆置。 函数接口定义: void func1 ( int a[], int n );
时间: 2024-11-09 12:30:55 浏览: 32
题目所描述的是编写一个名为`func1`的函数,它接受一个整数数组`a`和它的长度`n`作为输入,功能是将数组`a`中的元素顺序反转。在C++中,你可以通过两个指针,一个从数组开头开始,另一个从结尾开始,然后依次交换它们指向的元素,直到两者相遇,以此来实现数组的逆置。这是一个简单的线性时间复杂度O(n)的解决方案。
```cpp
#include <iostream>
// 定义逆置数组的函数
void func1(int a[], int n) {
if (n <= 1) { // 如果数组长度小于等于1,无需操作直接返回
return;
}
int start = 0; // 开始指针
int end = n - 1; // 结束指针
// 反转过程
while (start < end) {
std::swap(a[start], a[end]);
start++; // 向右移动开始指针
end--; // 向左移动结束指针
}
}
int main() {
int arr[] = {1, 2, 3, 4, 5};
int n = sizeof(arr) / sizeof(arr[0]);
func1(arr, n);
for (int i : arr) {
std::cout << i << " ";
}
return 0;
}
```
在这个例子中,`func1`函数会打印出反向的数组:5 4 3 2 1。
阅读全文