標籤:ast nbsp class i++ 源碼 個數 hub https blob
題目:有n個整數,使其前面各數順序向後移m個位置,最後m個數變成最前面的m個數
public static void main(String[] args) { Random random = new Random(); int len = random.nextInt(5)+5; //數長度為5到10 int[] arr = new int[len]; for (int i = 0; i < arr.length; i++) { arr[i] = random.nextInt(100); } System.out.println("原數組:"); printArr(arr); int rightMove = random.nextInt(3)+2; System.out.println("右移"+rightMove); int[] rigthArr= new int[rightMove]; //右側被移到前面的數組 for (int i = 0; i < rightMove; i++) { rigthArr[i] = arr[arr.length-rightMove+i]; } printArr(rigthArr); for (int i = arr.length-rightMove-1; i >=0 ; i--) { //數組左半部分向右移 arr[i+rightMove] = arr[i]; } for (int i = 0; i < rigthArr.length; i++) { //右半部分移到左邊 arr[i] = rigthArr[i]; } System.out.println("右移"+rightMove+"位後的數組"); printArr(arr); } //列印數組 public static void printArr(int[] arr){ for (int i = 0; i < arr.length; i++) { System.out.print(arr[i]+"\t"); } System.out.println(""); }
源碼
數組右移