I have an array such as
A-B-C-D-E-F-G-H-I-J-K
I want to rotate it N places to the right; for example, if N=3, the array should end
I-J-K-A-B-C-D-E-F-G-H
Assume that the only available operation is a FLIP method that can invert any portion of the array. For example, applied to the original array FLIP(3,6) would produce A-B-F-E-D-C-G-H-I-J-K.
i=startpos l= length of array a[]=array
flip(int i,int l)
{
while(i<l)
{
a[i--]=a[l--]
a[l--]=a[i--]
i++
l--
}
}
|
Posted by Prashant
on 2007-06-12 03:39:43 |