一堆数组逆序存放并输出
时间: 2023-07-16 18:15:22 浏览: 163
可以使用双指针的方法来逆序输出数组。具体实现如下:
```python
def reverse_print(arr):
left, right = 0, len(arr) - 1
while left < right:
arr[left], arr[right] = arr[right], arr[left]
left += 1
right -= 1
for num in arr:
print(num, end=' ')
```
我们先定义两个指针,一个指向数组的头部,一个指向数组的尾部。然后每次交换两个指针所指向的元素,直到两个指针相遇为止。最后再循环输出数组即可。
使用示例:
```python
arr = [1, 2, 3, 4, 5]
reverse_print(arr)
```
输出结果:
```
5 4 3 2 1
```
相关问题
从键盘输入十个数,放到一堆数组中,然后将数组元素逆序存放,并将结果输出java
在Java中,你可以使用ArrayList作为动态数组存储十个用户从键盘输入的数值,然后通过Collections.reverse()方法将数组元素逆序,最后再遍历并输出逆序后的数组。以下是简单的步骤和代码示例:
```java
import java.util.ArrayList;
import java.util.Collections;
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
// 创建一个ArrayList来存储数字
ArrayList<Integer> numbers = new ArrayList<>();
// 获取用户输入的十个数字
Scanner scanner = new Scanner(System.in);
for (int i = 0; i < 10; i++) {
System.out.println("请输入第" + (i+1) + "个数:");
int num = scanner.nextInt();
numbers.add(num); // 将输入的数添加到列表中
}
scanner.close();
// 逆序列表
Collections.reverse(numbers);
// 输出逆序后的数组
System.out.println("逆序后的数组是:");
for (int number : numbers) {
System.out.print(number + " ");
}
}
}
```
在这个程序中,我们首先创建了一个ArrayList,接着使用循环获取用户的十个输入,然后使用Collections.reverse()函数将数组逆序,最后遍历并打印出逆序后的数组。
定义一堆数组存放30个元素,使用指针逆序输出数组元素
当你需要定义一个包含30个元素的数组,并使用指针逆序输出数组内容,首先你需要创建一个足够大的动态数组或者整型数组。这里假设我们用C++举例:
```cpp
#include <iostream>
int main() {
int arr[30]; // 创建一个能存储30个元素的数组
// 遍历并填充数组(为了演示,这里仅填充前5个元素)
for (int i = 0; i < 5; ++i) {
arr[i] = i * 10;
}
// 初始化两个指针,一个指向数组开始,另一个指向结束
int* start = arr; // 指向数组的第一个元素
int* end = start + 29; // 指向数组的倒数第二个元素(因为数组索引从0开始)
while (start < end) { // 当开始指针小于结束指针时,继续逆序操作
std::cout << *end << " "; // 输出当前元素
// 移动指针
*start = *start + 1; // 开始指针向前移动
*end = *end - 1; // 结束指针向后移动
start++; // 向前
end--; // 后退
}
std::cout << "\n"; // 输出换行符
return 0;
}
```
在这个例子中,指针`start`从数组开始位置逐渐递增,而`end`从数组末尾逐渐递减,直到两者相遇,实现了数组元素的逆序输出。
阅读全文