繁体   English   中英

在单链接列表中恒定时间实现Popback

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM