题目
以下容器不支持随机访问迭代器的是:A. vectorB. SetC. dequeD. list
以下容器不支持随机访问迭代器的是:
A. vector
B. Set
C. deque
D. list
题目解答
答案
D. list
解析
本题考查C++标准容器的迭代器类型。关键点在于理解不同容器支持的迭代器类型:
- 随机访问迭代器(如
vector、deque)允许通过偏移量直接访问元素; - 双向迭代器(如
list、set)只能通过逐步移动访问元素; - 前向迭代器(如
unordered_set)功能更受限。
破题关键是明确各选项容器的迭代器类型,判断其是否支持随机访问。
选项分析
-
A. vector
vector是动态数组,内部存储连续,支持随机访问迭代器(可通过[]或指针运算访问元素)。 -
B. Set
Set基于红黑树实现,迭代器为双向迭代器,只能顺序遍历,无法通过偏移量直接访问元素。 -
C. deque
Deque(双端队列)支持连续块存储,迭代器为随机访问迭代器,可直接访问元素。 -
D. list
List是双向链表,迭代器为双向迭代器,需逐步移动访问元素,无法随机访问。
结论:list(选项D)不支持随机访问迭代器。