Rotation of array by d position

Write a function rotate(ar[], d, n) that rotates arr[] of size n by d elements.

Array
Rotation of the above array by 2 will make array
ArrayRotation1

Comments

  1. we can use the block swap algorithm for array rotation
    in rotate(arr[],d,n)
    suppose A=arr[0..d-1] and B=arr[d..n]
    now B is divided into 2 parts B1 and B2 such that A nd B2 have same size;
    Now we block swap A with B2 that AB1B2 becomes B2B1A
    now we can apply the same algo recursively for B1A as B2 is at its right place....
    rotate will take two parameters start and end

    ReplyDelete
  2. we can also specify the left and right rotation to change the algorithm

    ReplyDelete
  3. @Navin yes this can be solved by block swap algorithm.There are different swap algorithm which can also be used..:)

    ReplyDelete

Post a Comment

Popular posts from this blog

Circular game survival