在C++中,std::vector
的operator[]
即at()
函數的時間復雜度是O(1),因為它可以通過直接索引訪問元素,不需要遍歷數組。而operator[]
在不進行邊界檢查時的時間復雜度也是O(1)。
請注意,盡管at()
函數提供了邊界檢查,但這并不會改變其基本的時間復雜度,只是增加了一個額外的檢查步驟。如果不需要邊界檢查,可以直接使用operator[]
以獲得更快的訪問速度。
另外,對于std::array
和std::string
等其他STL容器,operator[]
的時間復雜度也都是O(1)。這些容器都支持隨機訪問迭代器,因此可以通過索引直接訪問元素。