STL中的equal演算法

2021-07-24 18:01:13 字數 1381 閱讀 9669

bool equal( inputit1 first1, inputit1 last1,  inputit2 first2)

;first1, last1-the first range of the elements to compare

first2-the beginning element of the second range to compare

註解:

它將第乙個序列中的每個元素與第二個序列中的對應元素進行比較。如果所有對應元素都相等,則返回true,否則返回false。

由於equal利用迭代器完成操作,因此可以通過equal比較兩個不同型別容器中的元素。而且,元素的型別也不必一樣,只要我們能用==來比較兩個元素型別即可。

equal基於乙個非常重要的假設:它假設第二個序列至少與第乙個序列一樣長。

詳情參考:

樣例**:

#include #include #include using namespace std;

int main()

if(equal(vi1.begin(),vi1.end(),vi2.begin()))

cout<<"vi1 equal vi2\n";

else

cout<<"vi1 not equal vi2\n";

if(equal(vi1.begin()+5,vi1.end(),vi2.begin()))

cout<<"vi1 equal vi2\n";

else

cout<<"vi1 not equal vi2\n";

return 0;

}

測試:

vi1 equal vi2

vi1 not equal vi2

#include #include #include #include using namespace std;

int main()

if(equal(vi1.begin(),vi1.end(),li1.begin()))

cout<<"vi1 equal 1i1\n";

else

cout<<"vi1 not equal li1\n";

return 0;

}

測試:vi1 equal 1i1

泛型演算法之equal

校驗兩個區間是否相等 bool equal inputiterator1 beg,inputiterator1 end,inputiterator2 cmpbeg bool equal inputiterator1 beg,inputiterator1 end,inputiterator2 cmpb...

STL中的查詢演算法

stl中有很多演算法,這些演算法可以用到乙個或多個stl容器 因為stl的乙個設計思想是將演算法和容器進行分離 也可以用到非容器序列比如陣列中。眾多演算法中,查詢演算法是應用最為普遍的一類。單個元素查詢 1 find 比較條件為元素是否相等的查詢 template inputiterator fin...

STL中的sort演算法

上圖表明了關於sort演算法的兩大要點 sort randomacessiterator it1,randomacessiterator it1 即,sort演算法的輸入形參是兩個,而且必須都是隨機迭代器 貌似只有vector和deque滿足?sort預設的排序結果是從小到大。關於stl的sort演...