C++ 如何查看向量中的所有元素是否相同?
我有一个C++ 如何查看向量中的所有元素是否相同?,c++,C++,我有一个向量的向量 如何检查其中一列中的所有元素是否相同 我试着用这个嵌套的for循环检查它,但是我得到了一个超出范围的错误 方法,但它不会为我编译,我假设它是,因为它是向量的向量的k的初始值不完整:使用 for(auto k=v.size(); k--;) 向后循环 在(i-1)处使用也一定是错误的,因为i从0开始 除非对向量进行排序,否则仅检查两个元素无法判断它们是否都相等 最后,即使不能使用范围(因为索引使用,如i-1和..+j),也要将引用绑定到正在处理的元素,至少在外部级别。可读性显
向量
的向量
如何检查其中一列中的所有元素是否相同
我试着用这个嵌套的for循环检查它,但是我得到了一个超出范围的错误
方法,但它不会为我编译,我假设它是,因为它是
向量的向量
的k
的初始值不完整:使用
for(auto k=v.size(); k--;)
向后循环
在(i-1)
处使用也一定是错误的,因为i
从0开始
除非对向量进行排序,否则仅检查两个元素无法判断它们是否都相等
最后,即使不能使用范围(因为索引使用,如i-1
和..+j
),也要将引用绑定到正在处理的元素,至少在外部级别。可读性显著提高。@DavisHerringthat@codekaizer抱歉修复了它,您确定(inti=0;i<10;i++)的大小是10,对吗?因为这可能是您面临超出范围错误的地方。i
在(i-1)
时,板上的昆虫zero@HarisNadeem是的,向量的向量初始化为大小10从未使用过自动,但我尝试过,它说k没有命名类型?不管怎样,有没有一个向量的内置函数,比较所有元素,并检查它们是否相同?@ BuyYbBuh,C++编译器,处理AutoC AS吗?这应该是一件相当有趣的事情old@billybob:它是一个C++11功能;您的编译器可能需要一个选项来启用该语言版本。@billybob:请随意询问有关equal
方法的新问题(附完整示例)。
if (equal(myVector.begin() + 1, myVector.end(), myVector.begin()) )
for(auto k=v.size(); k--;)