Untitled

 avatar
unknown
csharp
2 years ago
852 B
5
Indexable
        private static List<T> LeftShift<T>(List<T> list)
        {
            if (list == null || list.Count < 2)
            {
                return list;
            }

            List<T> output = new List<T>(list.Count);
            T temp = list[0];

            for (int i = 1; i < list.Count; i++)
            {
                output.Add(list[i]);
            }

            output.Add(temp);
            return output;
        }

        public static List<T> LeftShiftCount<T>(List<T> list, int count)
        {
            if (list == null || list.Count < 2)
            {
                return list;
            }

            List<T> output = list;
            for (int i = 0; i < count; i++)
            {
                output = LeftShift(output);
            }

            return output;
        }
Editor is loading...