编写一个可以颠倒数组元素的函数reverseArray
时间: 2024-02-21 08:58:44 浏览: 92
好的,下面是一个可以颠倒数组元素的函数reverseArray的实现(使用了C++语言):
```cpp
#include <iostream>
#include <vector>
using namespace std;
void reverseArray(vector<int>& arr){
int left = 0, right = arr.size() - 1;
while(left < right){
swap(arr[left], arr[right]);
left++;
right--;
}
}
int main(){
vector<int> arr = {1, 2, 3, 4, 5};
reverseArray(arr);
for(auto i : arr) cout << i << " ";
return 0;
}
```
该函数接受一个int类型的vector作为参数,使用左右指针的方式颠倒vector的元素。具体实现中,我们使用while循环,不断交换左右指针所指向的元素,直到左指针和右指针相遇。
在main函数中,我们定义了一个vector并初始化,然后调用reverseArray函数将其颠倒。最后用for循环输出vector中的元素,验证颠倒是否成功。
注意:在实际项目中,我们应该尽可能使用STL提供的现成算法和数据结构,而不是手写这样的函数。例如,STL中提供了reverse函数,可以用来颠倒vector元素。
相关问题
编写一个Python程序,可以颠倒数组元素的函数reverseArray
好的,下面是一个可以颠倒数组元素的函数reverseArray的实现(使用了Python语言):
```python
def reverseArray(arr):
left, right = 0, len(arr) - 1
while left < right:
arr[left], arr[right] = arr[right], arr[left]
left += 1
right -= 1
# 测试代码
arr = [1, 2, 3, 4, 5]
reverseArray(arr)
print(arr) # 输出 [5, 4, 3, 2, 1]
```
该函数接受一个列表作为参数,使用左右指针的方式颠倒列表的元素。具体实现中,我们使用while循环,不断交换左右指针所指向的元素,直到左指针和右指针相遇。
在测试代码中,我们定义了一个列表并初始化,然后调用reverseArray函数将其颠倒。最后用print语句输出列表中的元素,验证颠倒是否成功。
C语言编程。通过函数实现,将一数组元素的值按颠倒的顺序重新存放。(将编写的程序和运行结果图上传到答案框中)
好的,以下是C语言编写的程序和运行结果:
```c
#include <stdio.h>
void reverseArray(int arr[], int size);
int main() {
int arr[] = {1, 2, 3, 4, 5};
int size = sizeof(arr) / sizeof(arr[0]);
printf("原数组:");
for (int i = 0; i < size; i++) {
printf("%d ", arr[i]);
}
reverseArray(arr, size);
printf("\n颠倒后的数组:");
for (int i = 0; i < size; i++) {
printf("%d ", arr[i]);
}
printf("\n");
return 0;
}
void reverseArray(int arr[], int size) {
int temp, i, j;
for (i = 0, j = size - 1; i < j; i++, j--) {
temp = arr[i];
arr[i] = arr[j];
arr[j] = temp;
}
}
```
运行结果:
```
原数组:1 2 3 4 5
颠倒后的数组:5 4 3 2 1
```
注意:程序中的数组元素个数可以根据需要自行修改。
阅读全文