Java程序实现分组反转数组
可以通过反转指定大小的子数组来实现对数组的分组反转。本文介绍了一种按指定大小分组反转数组的技术。此技术可用于各种计算任务和算法设计。程序接收数组和分组大小作为输入,并按该大小分组反转数组。然后将原始数组和修改后的数组打印到控制台。
问题陈述
编写一个Java程序,按给定大小分组反转数组。示例如下:
输入
Original array = 1 2 3 4 5 6 7 8 9 10
输出
Modified array = 3 2 1 6 5 4 9 8 7 10
按给定大小分组反转数组的步骤
以下是按给定大小分组反转数组的步骤:
Java程序实现分组反转数组
这是一个演示如何按指定大小分组反转数组的Java程序:
public class Example { public static void main(String[] args) { int arr[] = {1, 2, 3, 4, 5, 6, 7, 8, 9,10}; int size = 4; int n = arr.length; System.out.print("Original array is: "); for (int i = 0; i < n; i++) System.out.print(arr[i] + " "); for (int i = 0; i < n; i += size) { int left = i; int right = Math.min(i + size - 1, n - 1); int temp; while (left < right) { temp = arr[left]; arr[left] = arr[right]; arr[right] = temp; left += 1; right -= 1; } } System.out.print("
Modified array is: "); for (int i = 0; i < n; i++) System.out.print(arr[i] + " "); } }
输出
Original array is: 1 2 3 4 5 6 7 8 9 10 Modified array is: 4 3 2 1 8 7 6 5 10 9
代码解释
程序用值{1, 2, 3, 4, 5, 6, 7, 8, 9, 10}初始化数组arr,并将分组大小设置为4,表示要反转的子数组的大小。数组的长度存储在变量n中。使用for循环迭代数组并打印每个元素来打印原始数组。然后,程序使用另一个for循环以size为增量遍历数组,按4个元素一组反转数组。对于每个组,分别在组的开头和结尾初始化两个指针left和right。while循环交换这些指针处的元素,向内移动直到left不再小于right。
处理所有组后,使用另一个for循环迭代数组并打印每个元素来打印修改后的数组。最终输出显示了原始数组和修改后的数组,显示了每四个元素一组反转的子数组。
结论
程序成功地按给定大小分组反转了数组。输出显示了原始数组和按大小为4分组反转后的修改后的数组。程序演示了一种高效的反转给定大小子数组的方法,这在数据处理和算法设计等各种应用中非常有用。广告