STL面试题及答案.docx

STL面试题及答案

一、选择题(5题,每题4分)

1.下列关于std::vector的说法,错误的是()

A.底层实现为动态数组,支持随机访问

B.插入元素到尾部时,最坏时间复杂度为O(n)(需扩容)

C.迭代器在push_back后一定不会失效

D.清空容器(clear)后,内存不会自动释放

答案:C。解析:vector扩容时会分配新内存、拷贝元素、释放旧内存,此时原迭代器会失效;push_back若触发扩容,迭代器失效,未触发则有效,并非“一定不会失效”。

2.下列容器中,插入和删除元素(非首尾)效率最高的是()

A.std::vector

B.std::list

C

文档评论(0)

1亿VIP精品文档

相关文档