编写一个可以颠倒数组元素的函数reverseArray
时间: 2024-02-21 14:58:44 浏览: 34
好的,下面是一个可以颠倒数组元素的函数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语句输出列表中的元素,验证颠倒是否成功。
编写函数,将数组元素逆序。编写主函数,定义数组,使用前面编写的函数输入数组元素,调用本题函数逆序数组元素,调用前面编写的输出数组的函数输出。设数组元素为整数,不超过100个。
以下是实现该函数的代码:
```c
#include <stdio.h>
void reverseArray(int arr[], int len) {
int i, temp;
for (i = 0; i < len / 2; i++) {
temp = arr[i];
arr[i] = arr[len - i - 1];
arr[len - i - 1] = temp;
}
}
void printArray(int arr[], int len) {
int i;
for (i = 0; i < len; i++) {
printf("%d ", arr[i]);
}
printf("\n");
}
int main() {
int arr[100], n, i;
printf("Enter the number of elements in the array: ");
scanf("%d", &n);
printf("Enter the elements of the array:\n");
for (i = 0; i < n; i++) {
scanf("%d", &arr[i]);
}
printf("Original array: ");
printArray(arr, n);
reverseArray(arr, n);
printf("Reversed array: ");
printArray(arr, n);
return 0;
}
```
我们首先定义了一个 `reverseArray` 函数,它接受一个整型数组和数组长度作为参数。该函数将数组元素逆序排列。具体来说,它遍历数组前一半的元素,将每个元素与对应的后一半元素交换位置。
然后我们定义了一个 `printArray` 函数,它接受一个整型数组和数组长度作为参数。该函数将数组元素输出到控制台上。
在主函数中,我们首先读取用户输入的数组长度和数组元素。然后输出原始数组,调用 `reverseArray` 函数逆序排列数组元素,最后再次输出数组元素。