Skip to main content

Left Rotation in an Array using Java

Left Rotation in an Array using Java

There are two methods implemented by me here :-

1) Using extra Array 
  1.  Get new position of  a current element using formula.
  2.  Add the element in the new position in a new array.


2) Using same Array:- This is little bit complex

  1. hold variable at index i.
  2. find new index for variable.
  3. hold variable present at new index.
  4. place variable at index i to this new index.
  5. assign i to new index variable.
  6. repeat steps until count is not equal to lenght of an array which simply means all variable got covered.



package Arrays;

/*
 * 12345 to 34512
 */

/*
 * sample input
 * 5 4(d=4 that is 4 rotations)
 1 2 3 4 5
 sample output
 51234
 */
public class LeftRotation {
 
 public static void printArray(int[] arr)
 {
  
  for(int i=0;i<arr.length;i++)
  {
  System.out.print(" "+arr[i]);
  }
  System.out.println(" ");
 }
 
 //method which returns rotated array using extra array
 public static int[] leftRotate(int[] arr, int rotation)
 {
  int temparr[]=new int[arr.length];
  int pos;
  for(int i=0;i<arr.length;i++)
  {
   pos=(arr.length+(i-rotation))%arr.length;
   temparr[pos]=arr[i];
  }
  printArray(temparr);
  
  return temparr;
 }

 //method which returns rotated array using same array
 public static int[] leftRotate2(int[] arr, int rotation)
 {
  
  int pos,tempinit,temppos=arr[0],i=0,c=0;
  
  while(c!=arr.length){
   tempinit=temppos;
   pos=(arr.length+(i-rotation))%arr.length;
   temppos=arr[pos];
   arr[pos]=tempinit; 
   i=pos;
   c++;
  }
  
  printArray(arr);
  
  return arr;
 }

 
 
 public static void main(String[] args)
 {
  int[] arr={1,2,3,4,5};
  leftRotate(arr, 3);
  leftRotate2(arr, 3);
 }
}

Comments

.

Popular posts from this blog

Selection Sort in JAVA

What is selection sort?

It is a sorting technique that is based on the partitioning of array into two parts, sorted and unsorted.

The process is:-

1) Find minimum element in unsorted array.
2) Swap the element at the end of sorted array.

when i=0 we don't have any sorted array so element will be replaced from first element later the sorted array end will growas the index.

Steps:-


underline elements are sorted array, the length is increasing with each minimum element added at the end.minimum element11 1125122264 minimum element12 1112252264 minimum element22 1112222564 minimum element25 1112222564 minimum element64 1112222564
Program:-


package sorting;publicclassSelectionSort{//function to print arraypublicstaticvoidprint(int[] arr){for(int i=0;i<=arr.length-1;i++) System.out.print(" "+arr[i]); System.out.println(" ");}//function to swap elementspublicstaticint[]swap(int[] arr,int i,int j){int temp; temp=arr[i]; arr[i]=arr[j]; arr[j]=temp…

Bubble Sort in JAVA

What is bubble sort?

It is a sorting technique that is based on the comparison.Here we compare adjacent element, if the first element is larger than the second we swap each other. We do the same procedure again and again until array do not sort completely.

Example:-
5 1 4 2 8



51428here pass is nothing but iterating the loops equal to number of elements in the array but if it already sorted before then we can break the loop anddo existPASS1 case0 1 //check 0 and first element15428 case1 2 //check 1 and 2 element14528 case2 314258 case3 414258 swap istruePASS2 //first pass completed now do second pass case0 114258 case1 212458 case2 312458 case3 412458 swap istrue PASS3 // third pass case0 112458 case1 212458 case2 312458 case3 412458 swap isfalse since swap is false we break from the loop and do not go for fourth and fifth pass
Program:-

package sorting;publicclassBubbleSort{//function to print arraypublicstaticvoidprint(int[] arr){for(int i=0;i<=arr.length-1;i++) Syst…