vector:
优点:vector和数组类似,拥有一段连续的内存空间,并且起始地址不变,是顺序存储,并且可以在O(1)的时间内随机访问某个节点,尤其在比较频繁的时候用的更多。
缺点:插入或者删除的时候,需要大量的对象的复制(赋值、移动),效率比较慢(特别是对象数据比较大的时候)。
list:
优点:当在某个位置插入或者删除一个元素,只需要改变指针的指向,效率很高。在数据较大时(相对vector时),体现的更为明显;
缺点:list是由双向链表实现的,因此内存空间是不连续的,不支持随机访问。只能通过指针访问数据,所以list的随机存取非常没有效率,时间复杂度为o(n);