【问题标题】:What is the time complexity of push_front(), push_back(), pop_front(), pop_back() in C++ STL implementation of <list>?<list>的C++ STL实现中push_front()、push_back()、pop_front()、pop_back()的时间复杂度是多少?
【发布时间】:2014-04-12 07:23:10
【问题描述】:

请解释一下链表中这些操作的时间复杂度,即 C++ STL 的列表实现。这是一个双向链表还是什么?

【问题讨论】:

  • 来自here:std::list 是一个容器,它支持从容器中的任何位置以恒定时间插入和删除元素。不支持快速随机访问。它通常实现为双链表。
  • 你尝试过在谷歌上搜索 std::list 吗?这是最重要的:en.cppreference.com/w/cpp/container/list
  • 是的,我确实搜索过答案。所以我找不到答案有什么大不了的,或者我可能跳过了正确的页面。这里问的大部分问题在网上都有答案,这并不意味着我们不能在这里问问题,把所有的答案都放在一个地方不是很好吗。我不知道为什么这么多反对票,就好像我刚刚用这个问题杀了你一样,一个人反对票,其他人只是跟着他

标签: c++ stl


【解决方案1】:

恒定。是的,它是一个双向链表。由于 C++11 单链表也以std::forward_list 的形式存在。

【讨论】:

    猜你喜欢
    • 2022-08-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-08-01
    • 2010-12-23
    • 2018-11-02
    • 2020-07-15
    • 2020-02-03
    相关资源
    最近更新 更多