-1
這是我目前如何檢查碰撞我的瓦片地圖:哪個更有效率:循環遍歷int [,]兩次,還是循環遍歷一次?
int[,] layer;
for (x = 0; ...)
{
for (y = 0; ...)
{
//Do collision checks here, based on index.
}
}
這是我想到的選擇:
List<Collision> collisions;
for (i = 0; i < collisions.Count; i++)
{
//Check for "MovingObject to Collision" here.
}
我會假設,因爲我從兩個for
開關循環到一個,它會更快。
- 性能方面,這與我通過
for
循環進行迭代有什麼關係嗎? - 出於好奇,我在
foreach
循環中迭代的內容是否重要?
循環在一個循環內有一個複雜的** O(n^2)**循環一次有** O(n)** **。但這兩個代碼又是如何相互關聯的呢? – 2015-02-11 04:28:05
由於兩種情況下的內碼不相同,因此無法確定。 – NoChance 2015-02-11 04:31:57
運行代碼最有效,並在需要時進行優化。 – SimpleVar 2015-02-11 04:38:29