c++ - 对 push_front 属性有点困惑。 intList.push_front(2 * intList.back()) 究竟会做什么?

标签 c++ iterator linked-list

我有一个充满特定数字的链表,称为 intList。什么会

intList.push_front(2 * intList.back()); 

对我的 list 做什么?

最佳答案

它会在列表的前面加上列表最后一个元素值的两倍,从而使列表的长度增加一。这假定您的列表包含可以使用 operator* 与整数相乘的类型的元素。

注意列表不能为空。在空列表上调用 back() 是未定义的行为。

参见相关引用文献herehere .

为了说明的目的,考虑一个列表包含

1, 2, 3, 4

该操作将修改列表,使其包含

8, 1, 2, 3, 4

列表的前面在左边。

关于c++ - 对 push_front 属性有点困惑。 intList.push_front(2 * intList.back()) 究竟会做什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12920239/

相关文章:

c++ - xpath 设置上下文需要迭代

c++ - 在 unordered_set 中存储多态对象

C++ 多映射迭代器失效

c++ - 段错误

c++ - opencv waitkey,不精确,不起作用?

c++ - 为什么我不能使用列表迭代器逻辑比较运算符?

c++ - Eigen::RowVector 迭代器

c - C链表结构中的未知类型名称

java - 链表(节点)范围和方法返回后的内存分配或垃圾回收

java - 单链表和双向链表 (Java)