用指针将数组中的15个元素逆序存放
时间: 2024-05-01 13:19:31 浏览: 65
您好,我理解您的问题,以下是 C++ 代码实现示例:
```cpp
#include <iostream>
using namespace std;
void reverse(int arr[], int size) {
int* start = arr; // 指向数组起始地展
int* end = arr + size - 1; // 指向数组末尾元素
// 依次交换数组两端元素,并向中间移动指针
while(start <= end) {
int temp = *start;
*start = *end;
*end = temp;
start++;
end--;
}
}
int main() {
int arr[15] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15};
reverse(arr, 15); // 调用逆序函数
for(int i = 0; i < 15; i++) {
cout << arr[i] << " "; // 输出逆序后的数组
}
return 0;
}
```
希望这个答案能够帮助您解决问题,如果您还有其他问题,请继续提问。
相关问题
编程实现将数组a中n个元素逆序存放。
可以使用双指针法,从数组两端开始交换元素,直到中间位置。具体实现如下:
```python
def reverse_array(a, n):
left = 0
right = n - 1
while left < right:
a[left], a[right] = a[right], a[left]
left += 1
right -= 1
```
其中,`a`为要逆序存放的数组,`n`为元素个数。使用双指针`left`和`right`,分别指向数组的首尾元素,然后交换它们的值,直到`left`指针大于或等于`right`指针。这样就可以将数组逆序存放。
用C语言编程实现将数组a中n个元素逆序存放。
以下是用C语言实现将数组a中n个元素逆序存放的代码:
```c
#include <stdio.h>
void reverse_array(int a[], int n) {
int left = 0, right = n - 1;
while (left < right) {
int temp = a[left];
a[left] = a[right];
a[right] = temp;
left++;
right--;
}
}
int main() {
int a[] = {1, 2, 3, 4, 5};
int n = sizeof(a) / sizeof(a[0]);
printf("Original array: ");
for (int i = 0; i < n; i++) {
printf("%d ", a[i]);
}
reverse_array(a, n);
printf("\nReversed array: ");
for (int i = 0; i < n; i++) {
printf("%d ", a[i]);
}
printf("\n");
return 0;
}
```
在`reverse_array`函数中,使用双指针`left`和`right`,分别指向数组的首尾元素,然后交换它们的值,直到`left`指针大于或等于`right`指针。在主函数中,先输出原始数组,然后调用`reverse_array`函数进行逆序操作,最后输出逆序后的数组。
阅读全文