C++ 20 中 vector list stack queue 分别从功能 效率等全方面分析其差异

在 C++20 中,std::vector、std::list、std::stack 和 std::queue 是常用的容器或容器适配器。以下从功能、效率、使用场景等方面对它们进行详细对比。

  • 功能对比
    在这里插入图片描述
    2.效率对比
    存储和访问
    在这里插入图片描述
    扩容效率
  • std::vector: 需要动态扩容,每次扩容会重新分配内存并拷贝已有元素,摊销时间复杂度 O(n)。 std::list:
    不需要扩容,因为是链表结构,插入时直接动态分配节点。 std::stack 和 std::queue: 依赖底层容器(通常是
    std::deque),扩容效率由其决定,std::deque 的扩容无需整体拷贝数据。

点赞(0) 打赏

评论列表 共有 0 条评论

暂无评论

微信公众账号

微信扫一扫加关注

发表
评论
返回
顶部