Rotate the array by k steps in java .

Method 1->

using extra array

import java.util.Scanner;
public class Main
{
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
System.out.print("enter array size=");
int n=sc.nextInt();
int[] arr=new int[n];
System.out.println("enter elements in array=");
for(int i=0; i<n; i++){
      arr[i]=sc.nextInt();
}
System.out.println("array is=");
for(int ele: arr){
      System.out.print(ele+" ");
}
System.out.println("\nenter value of k=");
int k=sc.nextInt();
k=k%n;
int[] brr = new int[n];
int j=0;
      for(int i=n-k; i<n; i++){
            brr[j]=arr[i];
            j++;
      }
       for(int i=0; i<=n-k-1; i++){
            brr[j]=arr[i];
            j++;
      }
System.out.println("\nrotate array is=");
for(int ele: brr){
      System.out.print(ele+" ");
}
}
}

method 2->

without using array

import java.util.Scanner;
public class Main
{
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
System.out.print("enter array size=");
int n=sc.nextInt();
int[] arr=new int[n];
System.out.println("enter elements in array=");
for(int i=0; i<n; i++){
      arr[i]=sc.nextInt();
}
System.out.println("array is=");
for(int ele: arr){
      System.out.print(ele+" ");
}
System.out.println("\nenter value of k=");
int k=sc.nextInt();
k=k%n;
         reverse(arr,0,n-k-1);
         reverse(arr,n-k,n-1);
         reverse(arr,0,n-1);
         }
         public static void reverse(int[] arr, int i, int j){
         while(i<=j){
            int t=arr[i];
            arr[i]=arr[j];
            arr[j]=t;
            i++;
            j--;
        }
    }
}


output->

enter array size=5
enter elements in array=
12
45
89
75
56
array is=
12 45 89 75 56 
enter value of k=

rotate array is=
75 56 12 45 89 

Comments

Popular posts from this blog

Introduction of java Programming language.

Stack data structure.