首页 > 试题广场 >

以下哪个容器的删除操作会进行内存的移动

[单选题]
以下哪个容器的删除操作会进行内存的移动
  • map
  • list
  • set
  • vector
vector是利用数组存放元素,当前面有元素被删除的时候后面的元素都向前移动一格,所以会进行内存的移动。
链表删除元素的时候,无论是双向还是单向只需改变指针的指向即可(L->next,不需要对L->data进行移动)。
map、set底层实现都是rb_tree,但是本质上是树,故其具体实现仍然是链表,删除元素的时候,只需改变其指针即可。
编辑于 2018-09-14 13:56:57 回复(0)
list有基于数组实现的,有基于链表实现的。。用链表实现的list在删除时不会进行内存的移动
发表于 2018-11-03 15:36:44 回复(2)
vector是连续存储在内存上的数组,删除某个数组元素的确有影响
发表于 2018-09-13 23:30:47 回复(0)
python用户看到list就选上了。。
发表于 2018-09-27 14:42:38 回复(0)