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.
(In reply to
A possible way by Old Original Oskar!)
The sequence FLIP(L-1,L), FLIP(L-2,L-1), FLIP(L-3,L-2), ... FLIP(1,2) is equivalent to simply FLIP(1,L-1) followed by FLIP(1,L), so by doing N times those two sentences you get the desired result faster.
(Of course, this isn't as good as the three-FLIP algorithm...)