- (1)vector的底层实现是数组;而list的底层实现是双向链表。
- (2)vector的内存的空间时连续的;而list的内存空间时不连续的。
- (3)vector支持数据的随机访问;而list不支持数据的随机访问。
- (4)vector在插入时如果空间不够才会自动申请新的空间的扩容,但容器中数据删除时不会释放空间;而list在每次插入和删除都会申请和释放空间。
- (5)vector在数据的插入或删除都可能会导致迭代器失效(插入或删除位置后面额迭代器全部失效);而list的在插入时不会导致迭代器失效,而在删除时会导致当前迭代器失效。
- (6)vector在删除和插入元素时会导致内存拷贝(插入位置之后的元素需要全部后移或删除位置的元素需要全部前移);而list不会。
- (7)vector适用于对容器中元素进行频繁的访问的情况;而list适用于对容器中元素进行频繁插入和删除的情况。
vector和list的区别
Vector与List的对比分析
最新推荐文章于 2024-04-17 17:26:01 发布
本文详细比较了C++标准模板库中vector和list两种容器的底层实现、内存分配、数据访问方式、插入删除操作的影响及适用场景。指出vector适合于频繁访问元素,而list更适合频繁插入和删除元素。
708

被折叠的 条评论
为什么被折叠?



