c++成对合并列表元素
C++ Merge List Elements in Pairs
我需要成对地合并列表元素,合并前两个,然后是第二个两个,依此类推,如果没有成对,则保持最后一个元素不变。例如,如果我通过对相加来合并从0到10的数字列表,我将从上面的列表到下面的列表。
0 1 2 3 4 5 6 7 8 9 10
1 5 9 13 15 10
(为了可读性,第二个列表中有额外的空白,但它的大小应该是6,并且不应该有任何空元素。)这是一个非常简单的例子;我的实际程序使用了一个合并函数
void merge(Obj *a, Obj *b)
指向对象的指针列表
std::list<Obj*> myList;
我如何像这样成对地遍历一个列表?
类似
std::list<*Obj> newList;
std::list<*Obj>::iterator itFirst = myList.begin();
std::list<*Obj>::iterator itSecond = myList.begin();
itSecond++; // move to element 1
for ( ;
itFirst != myList.end();
std::advance(itFirst, 2), std::advance(itSecond, 2) )
{
newList.push_back(merge(*itFirst, *itSecond));
}
这将合并示例中所示的每对连续元素,并将它们填充到一个新列表中。
相关文章:
- C++如何通过用户输入删除列表元素
- 通过动态分配插入列表元素
- 用于编织链接列表元素的Runner Technique
- 无法在C 中删除列表元素
- 如何在不使用循环或迭代器的情况下检查所有列表元素并在满足条件时删除一个
- 将列表元素移动到列表末尾的函数多次不起作用
- 交换链接列表元素
- 当删除列表元素时,在迭代器结束时会发生什么
- 为什么从不同分配器的列表中剪辑列表元素时会有错误消息?以及如何解决
- 打印出列表元素问题
- 我想通过递归获取列表元素的所有置换
- 从C++访问列表元素 (QML) 颜色
- 如何在C++visual studio 2013中将列表元素转换为文本块
- 指向删除后的列表元素的指针
- 正在将指针复制到assign运算符中的另一个列表元素
- 将列表元素插入向量,C++获取其他不需要的值
- 从unordered_set中删除列表元素
- 在C++中打印列表元素的组件
- 提取并转换 boost::p ython::list 的列表元素
- c++成对合并列表元素