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

按給定大小分組反轉陣列的步驟

以下是按給定大小分組反轉陣列的步驟:

  • 初始化一個數組和一個變數來儲存分組大小。
  • 列印原始陣列。
  • 使用for迴圈以等於分組大小的步長迭代陣列。
  • 在每次迭代中,使用while迴圈反轉給定大小的子陣列。
  • 列印修改後的陣列。

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個元素一組反轉陣列。對於每個組,分別在組的開頭和結尾初始化兩個指標leftright。while迴圈交換這些指標處的元素,向內移動直到left不再小於right

處理所有組後,使用另一個for迴圈迭代陣列並列印每個元素來列印修改後的陣列。最終輸出顯示了原始陣列和修改後的陣列,顯示了每四個元素一組反轉的子陣列。

結論

程式成功地按給定大小分組反轉了陣列。輸出顯示了原始陣列和按大小為4分組反轉後的修改後的陣列。程式演示了一種高效的反轉給定大小子陣列的方法,這在資料處理和演算法設計等各種應用中非常有用。

更新於:2024年7月24日

3K+ 瀏覽量

開啟你的職業生涯

完成課程獲得認證

開始學習
廣告
© . All rights reserved.