我已经读过,在a的末尾添加项目的时间复杂度std::vector是分摊的常量,并且在a的顶部和底部插入项目std::deque是常量.因为这两个容器都具有随机访问迭代器,因此访问任何索引处的元素是不变的.如果我有任何这些事实错误,请告诉我.我的问题是如果访问a中的元素std::vector或者std::deque是不变的那么为什么通过擦除O(n)去除元素的时间复杂度.这里的答案之一说明通过擦除元素是O(n).我知道擦除会删除起始迭代器和结束迭代器之间的元素,所以答案基本上意味着它O(n) 取决于两个迭代器之间的元素的数量,并且从任何索引中的vector/deque中删除单个元素将为零?