编写一个C++函数,将一个大小为n的int数组逆序存放
时间: 2024-03-21 16:42:35 浏览: 73
可以编写一个函数,使用双指针来交换数组元素实现数组逆序存放:
```c++
void reverseArray(int arr[], int n) {
int left = 0, right = n - 1;
while (left < right) {
int tmp = arr[left];
arr[left] = arr[right];
arr[right] = tmp;
left++;
right--;
}
}
```
这个函数接受一个 int 数组和一个整数 n,将数组中的元素逆序存放。它使用双指针来交换数组元素,left 指向数组开头,right 指向数组结尾。在每次循环中,交换 left 和 right 指向的元素,并将 left 右移一位,right 左移一位。当 left >= right 时,数组逆序存放完成。
相关问题
c++中将一个数组中的值按逆序重新存放
在 C++ 中,你可以通过迭代和交换元素的方式来将数组中的值按逆序排列。这里有一个简单的例子:
```cpp
#include <iostream>
void reverseArray(int arr[], int size) {
// 从数组两端开始遍历,逐次交换元素
for (int i = 0; i < size / 2; ++i) {
// 交换第 i 个元素和倒数第 i+1 个元素
std::swap(arr[i], arr[size - 1 - i]);
}
}
// 示例数组
int main() {
int array[] = {1, 2, 3, 4, 5};
int size = sizeof(array) / sizeof(array[0]);
// 反转数组
reverseArray(array, size);
// 输出反转后的数组
for (int i = 0; i < size; ++i)
std::cout << array[i] << " ";
return 0;
}
```
这个 `reverseArray` 函数接收一个整型数组 `arr` 和它的大小 `size`,然后使用了一个简单的双指针技巧,一个指针从数组开头向后移动,另一个指针从数组末尾向前移动,直到两个指针相遇。
用C++编写一个逆置数组的函数,参数为数组
在C++中,编写一个用于逆置数组的函数,你可以定义一个接受整型数组引用作为参数的函数,然后使用双指针技术来交换数组元素的位置。下面是一个简单的示例:
```cpp
#include <iostream>
// 函数声明
void reverseArray(int arr[], int start, int end);
// 主函数展示如何使用
int main() {
int myArray[5] = {1, 2, 3, 4, 5};
std::cout << "Original array: ";
for (int i : myArray) {
std::cout << i << " ";
}
std::cout << "\n";
reverseArray(myArray, 0, 4); // 调用逆序函数
std::cout << "Reversed array: ";
for (int i : myArray) {
std::cout << i << " ";
}
std::cout << "\n";
return 0;
}
// 逆序数组函数实现
void reverseArray(int arr[], int start, int end) {
while (start < end) {
// 交换arr[start]和arr[end]
int temp = arr[start];
arr[start] = arr[end];
arr[end] = temp;
// 更新指针位置
start++;
end--;
}
}
```
在这个例子中,`reverseArray`函数接受一个数组`arr`,以及起始索引`start`和结束索引`end`。当`start`小于`end`时,会一直循环交换这两个位置的元素,直到整个数组逆序。
阅读全文