我有一个IEnumerable<Point>收藏品.可以说它包含5个点(实际上它更像2000)
我想订购这个集合,以便集合中的特定点成为第一个元素,因此它基本上是在特定点切割集合并将它们重新连接在一起.
所以我的5点清单:
{0,0}, {10,0}, {10,10}, {5,5}, {0,10}
关于索引3处的元素重新排序将变为:
{5,5}, {0,10}, {0,0}, {10,0}, {10,10}
什么是解决此问题的计算效率最高的方法,或者是否存在已经存在的内置方法......如果是这样,我似乎找不到一个!
ulr*_*chb 13
var list = new[] { 1, 2, 3, 4, 5 };
var rotated = list.Skip(3).Concat(list.Take(3));
// rotated is now {4, 5, 1, 2, 3}
Run Code Online (Sandbox Code Playgroud)