[英]Implementing Popback in constant time in a singly linked list
我想知道是否有可能( 在std :: list看来应该这样做 )在恒定时间内对单链接列表实施PopBack()操作,以及如何进行?
我假设我们存储头和尾指针。 在这种情况下,可以很容易地在恒定时间内实现PushBack(),PushFront(),PopFront()。 但是无法想到在相同的运行时间下实现PopBack()的方法。
您不能在恒定时间内为单个链接列表实现pop_back
。 为此,您需要在最后一个元素之前知道先前的元素,即最后一个元素应包含对先前元素的引用。 如果是这样,那么您将有一个双向链接列表。
您可以在固定时间内添加push_back
。 我对C ++ Standard的建议之一是引入std::x_forward_list
,它将支持push_back
成员函数。 在这种情况下,您将能够使用这样的单个链接列表来模拟队列。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.