Std::forward_list -如何在末尾插入元素
std::forward_list - how to insert element at the end
forward_list是一个单链表(与标准列表容器不同)。List有在前面和后面插入元素的函数,但是forward_list没有在后面插入元素的函数(类似于push_back)。为什么不能在列表的后面插入一个元素?
与单链表相比,forward_list
应该不承担任何开销,这是一个深思熟虑的设计决策。这在c++ 11标准(23.3.4.1)中有说明:
注意:相对于手写的c风格单链表,
forward_list
的空间或时间开销为零。与该目标相冲突的特性已被省略。
维护指向列表末尾的指针会增加空间开销(指针本身)和时间开销(在列表末尾插入或删除元素时更新指针)。
相关文章:
- 如何在向量数组中插入元素?
- 有没有更快的方法可以在 std::vector 中插入元素
- 映射C++按值排序和插入元素
- 如何在一对集合的向量中插入元素?vector<pair<int,set<string>>>
- 当索引位于末尾和空数组时,向数组插入元素时出现问题
- 在 QSet 中插入元素<QString>并检索 ,删除 QSet 的最后一项
- C++ 在列表末尾插入元素的列表的 STL 向量
- 插入元素后矢量容量增加
- 如何在 c++ 集中插入元素,直到按下 Enter 键
- C++向量插入元素
- 有没有办法在unordered_map的某个位置插入元素
- 重新插入元素可以"re-validate"迭代器吗?
- 内部源代码 - 在链接列表实现中插入元素上的删除会破坏整个应用程序
- 在链表中插入元素
- stl 中是否有任何数据结构可以在 O(1) 或 O(log n) 中插入元素,我可以在其上编写自己的bin_searc
- 如何在将数据结构插入元素后继续迭代数据结构
- 有没有一种方法可以在std::向量的特定位置重复插入元素
- 在向量 (C++) 中保留插入元素的地址
- 插入元素后Unordered_map变空,我做错了什么
- 循环a std :: unordered_map,序列始终是i插入元素的序列