我有一个IEnumerable<Point>
集合。可以说它包含5点(实际上它更像2000)C#集合 - 按元素排序(旋转)
我想订购这个集合,以便集合中的一个特定点成为第一个元素,所以它基本上是在特定点上切割集合并重新连接他们在一起。
所以我的5点列表:
{0,0}, {10,0}, {10,10}, {5,5}, {0,10}
在指数3相对于元素重新排序将变成:
{5,5}, {0,10}, {0,0}, {10,0}, {10,10}
什么是解决这一计算最为有效的方法问题,还是有一种已经存在的内置方法...如果是这样,我似乎无法找到一个!
定义*计算效率高*。你担心时间,记忆,什么?您正在优化的资源是什么,以及*您的预算*是什么? – 2011-01-10 15:22:09
这个问题是在一个表示地理形状的多边形的上下文中提出的......每个多边形可能有一个包含多达1500个点(x,y)的PointCollection,我可能有多达30,000个多边形。点都必须重新排序。 因此,在这种情况下,计算效率非常高,意味着几乎所有这些,内存和时间。 – 2011-01-20 11:27:15