Осуществить циклический сдвиг элементов массива влево (вправо) на k позиций - C#
Формулировка задачи:
Дан массив размера N и число k (0 < k < 5, k < N). Осуществить циклический сдвиг элементов массива влево (вправо) на k позиций
Помогите пожалуйста,не могу понять,как это сделать.
Решение задачи: «Осуществить циклический сдвиг элементов массива влево (вправо) на k позиций»
textual
Листинг программы
class Program
{
static void Main(string[] args)
{
int[] arr = { 1, 2, 3, 4, 5 };
int k = 3;
int tmp;
int nextInd = 0;
Console.WriteLine(string.Join(" ", arr));
for (int i = 0; i < arr.Length-1; ++i)
{
nextInd += k;
nextInd %= arr.Length;
tmp = arr[nextInd];
arr[nextInd] = arr[0];
arr[0] = tmp;
}
Console.WriteLine(string.Join(" ", arr));
}
}