Std::forward_list -如何在末尾插入元素

std::forward_list - how to insert element at the end

本文关键字:插入 元素 forward list Std      更新时间:2023-10-16

forward_list是一个单链表(与标准列表容器不同)。List有在前面和后面插入元素的函数,但是forward_list没有在后面插入元素的函数(类似于push_back)。为什么不能在列表的后面插入一个元素?

与单链表相比,forward_list应该不承担任何开销,这是一个深思熟虑的设计决策。这在c++ 11标准(23.3.4.1)中有说明:

注意:相对于手写的c风格单链表,forward_list的空间或时间开销为零。与该目标相冲突的特性已被省略。

维护指向列表末尾的指针会增加空间开销(指针本身)和时间开销(在列表末尾插入或删除元素时更新指针)。