6-4 逆置数组 分数 5 全屏浏览题目 切换布局 作者 C课程组 单位 湖南工程学院 将一个整数数组逆过来,如数组是 int x[5]=[2,6,0,1,8],编写函数将其逆序成为[8,1,0,6,2]。 函数接口定义: void reverse ( int m[ ], int n ); 这里的 n 是一个正整数,表示要访问数组的多少个成员。该函数的功能是将n个成员逆置。
时间: 2024-03-14 08:47:50 浏览: 170
题目描述
将一个整数数组逆过来,如数组是 `int x[5] = [2,6,0,1,8]`,编写函数将其逆序成为 `[8,1,0,6,2]`。
函数接口定义:
```c++
void reverse(int m[], int n);
```
其中,`n` 是一个正整数,表示要访问数组的多少个成员。该函数的功能是将 `n` 个成员逆置。
样例
输入:
```text
2 6 0 1 8
```
输出:
```text
8 1 0 6 2
```
算法1
方法:双指针
定义两个指针,一个指向数组的头部,一个指向数组的尾部。交换指针所指向的元素,然后将指针向中间移动一位,直到指针相遇或者相交。数组逆置完成。
C++ 代码
```cpp
void reverse(int m[], int n) {
int left = 0;
int right = n - 1;
while (left < right) {
int temp = m[left];
m[left] = m[right];
m[right] = temp;
left++;
right--;
}
}
```
相关问题
pta逆置数组将一个数组逆过来如数组是
假设数组的名字是a,那么可以使用以下代码将其逆置:
```c++
int n;
cin >> n;
int a[n];
for(int i = 0; i < n; i++) {
cin >> a[i];
}
for(int i = n - 1; i >= 0; i--) {
cout << a[i] << " ";
}
```
该代码首先输入数组的长度n和n个元素,然后从数组末尾开始遍历,依次输出每个元素。这样就完成了将数组逆置的操作。
C语言将整数数组中的元素进行逆置,数组中有6个元素。 输入: 数组 输出: 逆置后的数组
C语言中可以使用两个指针,一个指向数组的开始,另一个指向数组的结束,然后交换它们指向的元素,并逐次移动指针直到它们相遇。以下是简单的步骤:
```c
#include <stdio.h>
void reverseArray(int arr[], int size) {
int start = 0;
int end = size - 1; // 数组下标从0开始,所以最后一个元素的索引为size-1
while (start < end) {
// 交换arr[start]和arr[end]
int temp = arr[start];
arr[start] = arr[end];
arr[end] = temp;
// 移动指针
start++;
end--;
}
}
int main() {
int arr[6] = {1, 2, 3, 4, 5, 6}; // 假设这是一个有6个元素的数组
printf("Original array: ");
for (int i = 0; i < 6; i++) {
printf("%d ", arr[i]);
}
reverseArray(arr, sizeof(arr) / sizeof(arr[0])); // 逆置数组
printf("\nReversed array: ");
for (int i = 0; i < 6; i++) {
printf("%d ", arr[i]);
}
return 0;
}
```
当你运行这个程序时,它会打印出原始数组和逆置后的数组。
阅读全文