C++ 在单链表中实现固定时间的Popback

C++ 在单链表中实现固定时间的Popback,c++,data-structures,linked-list,singly-linked-list,C++,Data Structures,Linked List,Singly Linked List,我想知道是否有可能(应该像std::list那样)在固定时间内对单链接列表实现PopBack()操作,以及如何实现 我假设我们存储头指针和尾指针。在这种情况下,PushBack()、PushFront()、PopFront()可以在固定时间内轻松实现。但是无法想到用相同的运行时间实现PopBack()的方法。不能在固定时间内为单个链表实现pop\u back。为此,您需要在最后一个元素之前知道前一个元素,即最后一个元素应包含对前一个元素的引用。如果是这样,那么您将拥有一个双链接列表 您可以在固定

我想知道是否有可能(应该像std::list那样)在固定时间内对单链接列表实现PopBack()操作,以及如何实现


我假设我们存储头指针和尾指针。在这种情况下,PushBack()、PushFront()、PopFront()可以在固定时间内轻松实现。但是无法想到用相同的运行时间实现PopBack()的方法。

不能在固定时间内为单个链表实现
pop\u back
。为此,您需要在最后一个元素之前知道前一个元素,即最后一个元素应包含对前一个元素的引用。如果是这样,那么您将拥有一个双链接列表


您可以在固定时间内输入元素
向后推
。我对C++标准的一个建议是引入<>代码>:ST::xSoNojdListList<代码>,它将支持<代码> PursSpBuff< <代码>成员函数。在这种情况下,您将能够使用这样一个单链表来模拟队列。

您不能在固定时间内为单链表实现
返回
。为此,您需要在最后一个元素之前知道前一个元素,即最后一个元素应包含对前一个元素的引用。如果是这样,那么您将拥有一个双链接列表


您可以在固定时间内输入元素
向后推
。我对C++标准的一个建议是引入<>代码>:ST::xSoNojdListList<代码>,它将支持<代码> PursSpBuff< <代码>成员函数。在这种情况下,您将能够使用这样一个单链接列表来模拟队列。

std::list
是双链接的<单独链接的code>std::forward\u list没有
pop\u back
方法。
std::list
是双重链接的
std::forward\u list
,它是单独链接的,没有一个
pop\u back
方法。啊……当然,std::list也是如此……现在看起来像是个愚蠢的问题……我应该睡觉了,这里是印度的凌晨3点!如果要实现此操作,则容器将具有双向迭代器。但是一个单一的链表不能有双向迭代器。啊……当然,std::list也是如此……现在看起来像个愚蠢的问题……我应该睡觉了,这里是印度的凌晨3点!如果要实现此操作,则容器将具有双向迭代器。但是单个链表不能有双向迭代器。