第一個例子:我可以使用'=='來比較兩個向量。我試過了,似乎工作正常。但我不知道是否會在更復雜的情況下工作
int main(){
using namespace std;
vector<int> v1{10, 20, 30, 40, 50};
vector<int> v2{10, 20, 30, 40, 50};
if(v1==v2)
cout<<"equal";
else
cout<<"unequal";
} // it returns equal
第二個例子:
int main(){
using namespace std;
vector<int> v1{10, 20, 30, 40, 50};
vector<int> v2{10, 20, 100000, 40, 50};
if(v1==v2)
cout<<"equal";
else
cout<<"unequal";
} // it returns notequal
我認爲這裏的最後一小部分信息是:如果你排序你的向量,它的工作原理。 試試這個:std :: sort(vector.begin(),vector.end()); – AnyOneElse 2013-09-17 11:35:24
@AnyOneElse你不應該這樣做矢量平等的測試作爲一個向量的元素事項的順序,以相同的元素,但以不同的順序兩個向量在數學上並不相等。但是,如果您希望以這樣一種方式處理向量平等,即元素的順序無關緊要,那麼在比較之前對它們進行排序是一種可能的解決方案。 – GBlomqvist 2017-11-23 22:34:23