我有一個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