Q
陣列性能問題
1
A
回答
9
他們是恆定的時間。 (與vector
相同。)
當你說a[b]
時,它變成*(a + b)
。 (指針算術)加法和解引用都是常量時間。
當添加到指針的整數,它的動作,許多元件在:
T* p; size_t i;
T* q = p + i; // same as:
T* q = reinterpret_cast<T*>(reinterpret_cast<char*>(p) + i * sizeof(T));
每個操作中存在一定的時間。
0
指針的運算是恆定的 - 它通常是一個單一的乘法和基礎的補充。 []也是一種指針算法。
2
矢量實際上是一個數組的包裝,所以它們應該提供相同的性能保證。
相關問題
- 1. 陣列vs.list性能問題
- 2. 長陣列性能問題
- 3. 頂點陣列性能問題
- 4. 性能問題,同時從陣列
- 5. Clojure陣列的性能問題
- 6. 問題陣列
- 7. 陣列問題
- 8. 線性陣列輸出問題?
- 9. jQuery.tmpl問題陣列類型屬性
- 10. JSON陣列性能
- 11. 紅寶石陣列相交性能問題
- 12. 的JavaScript hackerranks夏洛特和陣列性能問題
- 13. 與陣列問題
- 14. 問題與陣列
- 15. Ç陣列問題
- 16. Codeigniter陣列問題
- 17. SQLI陣列問題
- 18. Android,陣列問題
- 19. DispatcherTimer陣列問題
- 20. PHP陣列問題
- 21. XAML陣列問題
- 22. 問題與陣列
- 23. NSMutable陣列問題
- 24. 問題與陣列
- 25. 問題與陣列
- 26. ExtJS陣列問題
- 27. 問題與陣列
- 28. NsMutable陣列問題
- 29. 問題animationImages陣列
- 30. 性能問題
愚蠢的問題 - 總操作的恆定時間?那麼(pObj + 1)和(pObj + 10)會花費相同的時間? – Konrad 2010-03-31 15:25:42
@Konrad是的 - 指針運算只是算術運算,1 + 1與1 + 10的運算時間相同。 – 2010-03-31 15:28:01
謝謝,我以爲是的,但是腦中有一個失敗的時刻。謝謝! – Konrad 2010-03-31 15:32:41