Как в C# повернуть список вправо на указанное количество мест?
Мне дана эта строка кода в частности:
public void Test8(List<int> items, int places)
Задача для этой задачи состоит в том, чтобы придумать решение, при котором я смогу повернуть список вправо на указанное количество мест. Вращение списка можно рассматривать как круговое, что означает, что элементы, которые выпадают из конца, оборачиваются вокруг начала, и наоборот.
Как я могу сделать это правильный путь? Есть ли несколько способов сделать это вручную, не используя какой-либо причудливый код?
Пример:
Initial Array or List: 20, 30, 40, 50,60, 70 Rotated to the right by 3 places: 50, 60, 70, 20, 30, 40.
Что я уже пробовал:
public void Test8(List<int> items, int places) { int rotate = places; int[] results = new int[items.Count]; for (int i = 0; i < items.Count; i++) { results[i] = items[(i + rotate) % items.Count]; } }