我有一个实现的列表类IEnumerable<T>
。
Type T 是一个复杂的类,以字符串成员作为唯一标识符。但是仅将int作为元素类型进行解释就足够了。
我想将多个项目向左移动一步。
示例:
原始列表:0 , 1, 2, 3 , 4 , 5
现在所有粗体项目 (0,3,4) 应向左移动(尽可能)。
结果列表:0 , 1, 3 , 4 , 2, 5
有没有好的算法来做到这一点?也许只是使用 LINQ。
编辑:List<T>
欢迎回答列表。我的班级有类似的方法。(感谢 TylerOhlsen 的提示。)
Edit2:一个选定的项目不应通过另一个选定的项目。