Java实现数组元素逆序排列:将a[m+n]变换为xm...x1yn...y1
Java实现数组元素逆序排列:将a[m+n]变换为xm...x1yn...y1
本文介绍如何使用Java语言将数组a[m+n]变换为xm, xm-1, ..., x1, yn, yn-1, ..., y1的格式,并提供详细的代码示例和解释。
public class ArrayTransformation {
public static void main(String[] args) {
int m = 3; // 前面m个元素的个数
int n = 4; // 后面n个元素的个数
int[] a = new int[m + n]; // 原始数组a[m+n]
int[] b = new int[m + n]; // 变换后的数组b[m+n]
// 假设原始数组a[m+n]的元素已经初始化
// 可以根据实际情况赋值,这里仅作示范
// 前m个元素为x1, x2, ..., xm
for (int i = 0; i < m; i++) {
a[i] = i + 1; // 示例:赋值为1, 2, ..., m
}
// 后n个元素为y1, y2, ..., yn
for (int i = m; i < m + n; i++) {
a[i] = i - m + 1; // 示例:赋值为1, 2, ..., n
}
// 将数组a[m+n]变换为xm, xm-1, ..., x1, yn, yn-1, ..., y1
int index = 0;
for (int i = m - 1; i >= 0; i--) {
b[index++] = a[i]; // 添加前m个元素到数组b中,逆序添加
}
for (int i = m + n - 1; i >= m; i--) {
b[index++] = a[i]; // 添加后n个元素到数组b中,逆序添加
}
// 输出数组b,即为变换后的数组
System.out.print('变换后的数组为:');
for (int i = 0; i < m + n; i++) {
System.out.print(b[i] + ' ');
}
}
}
代码解释:
- 首先,我们定义了两个整数变量
m和n,分别表示数组a中前m个元素和后n个元素的个数。 - 然后,我们创建了两个数组
a和b,分别用于存储原始数组和变换后的数组。 - 接下来,我们使用两个循环分别为数组
a的前m个元素和后n个元素赋值。 - 然后,我们使用两个循环将数组
a中的元素逆序添加到数组b中。 - 最后,我们使用一个循环输出数组
b中的所有元素。
示例:
假设 m=3,n=4,且数组 a 的初始值为 [1, 2, 3, 1, 2, 3, 4],则程序输出结果为:
变换后的数组为:3 2 1 4 3 2 1
原文地址: https://www.cveoy.top/t/topic/bZFJ 著作权归作者所有。请勿转载和采集!