如何在向量C++; < >我在C++程序中使用了矢量/>代码,我想在循环时通过代码找到向量> 中的下一个元素,类似于它如何与链表一起创建下一个节点。我计划使用这个循环来检查向量中的当前元素与下一个元素是否相同 (自动i=v.begin();i
您可以使用此循环:如何在向量C++; < >我在C++程序中使用了矢量/>代码,我想在循环时通过代码找到向量> 中的下一个元素,类似于它如何与链表一起创建下一个节点。我计划使用这个循环来检查向量中的当前元素与下一个元素是否相同 (自动i=v.begin();i,c++,vector,C++,Vector,您可以使用此循环: for (size_t i = 0; i < v.size()-1; ++i) { if (v[i] == v[i+1] { // if current element equals next element ... // do something } } (大小i=0;i
for (size_t i = 0; i < v.size()-1; ++i) {
if (v[i] == v[i+1] { // if current element equals next element
... // do something
}
}
(大小i=0;i{
如果(v[i]==v[i+1]{//如果当前元素等于下一个元素
…做点什么
}
}
简单您可以使用
//从链接到的页面复制的示例。
#包括
#包括
#包括
int main()
{
std::向量v{3,1,4};
自动it=v.begin();
auto nx=std::next(it,2);
STD::CUT如果你使用向量作为循环表(也就是说,你把第一个元素当作最后一个元素的下一个元素),你可以使用模运算来抵抗向量的长度。
例如:
int getNext(std::vector<int> vect, size_t i) {
return vect[ (i+1) % v.size() ];
}
intgetnext(标准::向量向量,大小){
返回向量[(i+1)%v.size()];
}
如果您需要以“循环”方式选择下一个元素,尤其是循环外的元素,此解决方案非常有用。您有什么代码?使用此for循环,我尝试实现一个if语句,每次都会检查I+1是否没有其他要检查的内容。我在执行此操作时出错。目前我有一个if(v[I+1]!=NULL)检查但它会抛出与运算符不匹配的错误!=。这是否可以通过此循环进行检查?您不必进行检查,它是冗余的。if语句是完全安全的,它永远不会超出容器的边界,因为计数器仅上升到v.size()-1。
int getNext(std::vector<int> vect, size_t i) {
return vect[ (i+1) % v.size() ];
}