// Answer on Question#41946 - Programing - Java
public class Shift {
/*
* shift the content of A p position in the d direction
*/
static int[] shift(int A[], int p, String d) {
int temp[] = new int[A.length];
int j = 0;
if (d.equals("R")) {
for (int i = A.length - p; i < A.length; i++) {
temp[j++] = A[i];
}
for (int i = 0; i < A.length - p; i++) {
temp[j++] = A[i];
}
}
if (d.equals("L")) {
for (int i = p; i < A.length; i++) {
temp[j++] = A[i];
}
for (int i = 0; i < p; i++) {
temp[j++] = A[i];
}
}
return temp;
}
/*
* test the progrsm
*/
public static void main(String args[]) {
int arr[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10};
System.out.println("Original array: ");
for (int i = 0; i < arr.length; i++) {
System.out.print(arr[i] + " ");
}
System.out.println("\n");
int out[] = shift(arr, 10, "R");
System.out.println("after p=10 d=R:");
for (int i = 0; i < out.length; i++) {
System.out.print(out[i] + " ");
}
System.out.println("");
int out1[] = shift(arr, 8, "L");
System.out.println("\nafter p=8 d=L:");
for (int i = 0; i < out1.length; i++) {
System.out.print(out1[i] + " ");
}
System.out.println("");
int out2[] = shift(arr, 2, "L");
System.out.println("\nafter p=2 d=L:");
for (int i = 0; i < out2.length; i++) {
System.out.print(out2[i] + " ");
}
System.out.println("");
int out3[] = shift(arr, 4, "R");
System.out.println("\nafter p=4 d=R:");
for (int i = 0; i < out3.length; i++) {
System.out.print(out3[i] + " ");
}
}
}
Comments
Leave a comment