Java教程

Java向左旋转数组的元素

在此程序中,我们需要将数组的元素向左旋转指定的次数。在向左旋转时,数组的每个元素将向左移动一个位置,并且数组的第一个元素将添加到列表的末尾。此过程将执行指定的次数。
程序向左旋转数组的元素
考虑数组上方,如果n为1,则该数组的所有元素将向左移动一个位置,这样数组的第二个元素将取第一个位置,第三个元素将移动到第二个位置,依此类推。数组的第一个元素将添加到数组的最后一个元素。

算法

步骤1: 初始化 arr[] = {1、2、3、4、5}。 步骤2: SET n = 3 步骤3: 打印"原始数组" 步骤4: 对for(i=0; i < arr.length; i++)重复步骤5 步骤5: 打印arr[i] 步骤6: for(i = 0; i < n; i++)重复步骤8至步骤11 步骤7: 定义j,first。 步骤8: first = arr[0] 步骤9: for(j= 0; j<arr.length-1; j++)重复步骤11 步骤10: arr[j] = arr [j + 1] 步骤11: arr[j]= arr[j+1] 步骤12: 打印"左旋转后的数组" 步骤13: for(i=0; i < arr.length; i++)重复步骤15 步骤14: 打印arr[i]

程序:

class RotateLeft {
    public static void main(String[] args) {
        //Initialize array
        int [] arr = new int [] {1, 2, 3, 4, 5};
        //n determine the number of times an array should be rotated
        int n = 3;
        //Displays original array
        System.out.println("Original array: ");
        for (int i = 0;i <arr.length;i++) {
            System.out.print(arr[i] + " ");
        }
        //Rotate the given array by n times toward left
        for(int i = 0;i <n;i++){
            int j, first;
            //Stores the first element of the array
            first = arr[0];
            for(j = 0;j <arr.length-1;j++){
                //Shift element of array by one
                arr[j] = arr[j+1];
            }
            //First element of array will be added to the end
            arr[j] = first;
        }
        System.out.println();
        //Displays resulting array after rotation
        System.out.println("Array after left rotation: ");
        for(int i = 0;i<arr.length;i++){
            System.out.print(arr[i] + " ");
        }
    }
}
输出:
Original Array:
1 2 3 4 5
Array after left rotation:
4 5 1 2 3
昵称: 邮箱:
Copyright © 2022 立地货 All Rights Reserved.
备案号:京ICP备14037608号-4