vector与deque区别

来源:互联网 发布:windows 发送 消息 编辑:程序博客网 时间:2024/05/01 18:14

    vector和deque的区别主要在于他们底层的实现不同,特别是在插入和删除操作的实现机制不同。

对于vector来说,不管其大小是多少,在头部插入的效率总是比在尾部插入的效率低。在尾部插入将耗费固定的时间。在头部进行插入时,耗费的时间与vector的大小成正比,vector越大,耗费的时间越多。例如,在一个大小为1000的vector头部插入一个元素,与在一个大小为10的vector头部插入一个元素相比,将耗费100倍的时间。删除操作的情形也与

插入类似。因此,vector适合于插入和删除操作都在尾部进行的情况。

    deque和vector不同,不管进行的插入还是删除操作,也不管这些操作时在头部还是尾部进行,算法的效率是固定的。例如:不管deque的大小是10,100,还是1000.deque在头部和尾部插入删除的时间是一样的。因此要在对于两端进行插入或者删除操作时。deque要优于vector。

原创粉丝点击