vector和deque的区别主要在于他们底层的实现不同,特别是在插入和删除操作的实现机制不同。
对于vector来说,不管其大小是多少,在头部插入的效率总是比在尾部插入的效率低。在尾部插入将耗费固定的时间。在头部进行插入时,耗费的时间与vector的大小成正比,vector越大,耗费的时间越多。例如,在一个大小为1000的vector头部插入一个元素,与在一个大小为10的vector头部插入一个元素相比,将耗费100倍的时间。删除操作的情形也与
插入类似。因此,vector适合于插入和删除操作都在尾部进行的情况。
deque和vector不同,不管进行的插入还是删除操作,也不管这些操作时在头部还是尾部进行,算法的效率是固定的。例如:不管deque的大小是10,100,还是1000.deque在头部和尾部插入删除的时间是一样的。因此要在对于两端进行插入或者删除操作时。deque要优于vector。
本文探讨了vector和deque两种数据结构的特性与应用场景。指出vector在尾部操作效率高,而deque无论头部还是尾部操作效率都较为稳定。适用于频繁进行两端插入或删除操作的场景。
275

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



