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