C++有没有办法将函数'simultaneously'应用于向量的所有元素?
In C++ is there any way to apply a function 'simultaneously' to all the elements of a vector ?
我有一个长度为 6 的向量,元素要么是 1,要么是零。我想在每个第 i 个元素两侧的 2 个元素上应用"XOR"。例如,对于 i = 1,我将在第 0 和第 2 个元素上应用 xor。然后将第 i 个元素替换为此异或输出。我想在原始向量上同时对所有此类"i"应用异或。有什么方法可以在不使用其他向量的情况下实现这一点?
当你说"同时"时,你的意思是一个异或运算不应该使用来自前一个异或运算的中间数据,而应该使用来自原始向量的数据,对吧?在这种情况下,由于每个步骤都会擦除信息(元素i
的先前状态被结果覆盖),因此如果没有至少一些中间存储,则无法做到这一点。但是,您只擦除了一点信息,并且该信息仅在下一步中需要,因此您不需要完整的附加向量。
使用临时变量来存储上一项:
bool prev = vec[0];
for(int i = 1; i < vec.size() - 1; i++){
bool result = vec[i + 1] ^ prev;
prev = vec[i];
vec[i] = result;
}
相关文章:
- 向量元素的引用地址与它所指向的向量元素的地址不同.为什么
- 在 C++ 中输出枚举类类型的向量元素
- 用向量的向量元素初始化向量的空向量
- 为什么不允许使用可变长度数组作为向量元素?
- 在函数中传递向量元素
- 使用 Rcpp 加速替换迭代算法中的列表和向量元素是否合法?
- 返回向量元素的 l 值的正确方法是什么?
- 当向量增长时,指向向量元素的C++指针是否无效
- 如何在C++中从一个向量元素减去std::unorderede_map向量元素并更新它
- C++:向量元素赋值导致访问冲突
- 将向量元素与字符串元素进行比较,而不初始化向量
- 从2D矢量中找出最小尺寸的向量元素的更好方法
- 当我尝试将一个向量元素的值分配给另一个向量元素时,为什么我的应用程序会崩溃
- 使用递归C++向量元素的总和
- 如何查找为数组中的最低值编制索引的向量元素
- 限制指针访问STL ::向量元素
- 访问索引指向向量元素时的seg故障 - 做错了什么
- 如何使用指针访问向量元素的各个元素
- 向量元素数据损坏了Find()操作
- 将字符值分配给向量元素.C