关于list跟slist
关于list和slistlist中为了保证push_back()的时间复杂度是O(1),在list对象中定义了一个尾节点,可以slist压
关于list和slist
list中为了保证push_back()的时间复杂度是O(1),在list对象中定义了一个尾节点,可以slist压根就只有push_front,而放弃了push_back()。这是不是说明slist对象中压根就没有尾节点。那他为什么不搞一个呢。用push_front毕竟导致插入顺序和输出顺序相反。 STL
[解决办法]
我说的就是记住/不记住的意义:
记住尾结点的这样一个链表,我们可以用它来实现一个队列的功能啊,
有头结点有尾结点我们可以更方便的实现先进先出
不记住尾结点,只有头结点,那更多的我们可能只能拿来当栈用,先进后出
没有记录尾结点的链表,如果你要拿他做队列用的话,不就需要遍历了么
而且,队列和栈这种没有中途插入删除需求的容器,也不需要用到双链表