4 ответов:
Регистрация
std::mismatchметод C++.сравнение векторов обсуждалось на форум DaniWeb и ответил.
в C++: сравнение двух векторов
проверяем, чтобы пост. будет полезно для вас. они добились того же с помощью другого-2 метода.
ваш код (
vector1 == vector2) это правильный синтаксис c++. Существует==оператора для векторов.если вы хотите сравнить короткий вектор с частью более длинного вектора, вы можете использовать
equal()оператора для векторов. (документации)вот пример:
using namespace std; if( equal(vector1.begin(), vector1.end(), vector2.begin()) ) DoSomething();
если они действительно абсолютно должны оставаться несортированными (чего они действительно не делают.. и если вы имеете дело с сотнями тысяч элементов, то я должен спросить, почему вы сравниваете векторы, как это), вы можете взломать метод сравнения, который работает с несортированными массивами.
единственный способ, которым я думал это сделать, - создать временный
vector3и притворись, что делаешьset_intersectionдобавляя все элементыvector1к нему, то делать поиск для каждого отдельного элементаvector2наvector3и удаление его, если найдено. Я знаю, что это звучит ужасно, но именно поэтому я не пишу никаких стандартных библиотек C++ в ближайшее время.на самом деле, хотя, вроде их в первую очередь.
согласно обсуждению здесь вы можете напрямую сравнить два вектора с помощью
==
if (vector1 == vector2){ //true } else{ //false }
Comments