logo

C++-Algorithmus-Funktion equal()

Die Funktion equal() des C++-Algorithmus vergleicht die Elemente in beiden Containern und gibt einen wahren Wert zurück, wenn festgestellt wird, dass alle Elemente in beiden Containern übereinstimmen. Der erste Bereich beginnt bei [first1,last1) und der zweite beginnt bei first2.

C-Programmierung einschließen

Syntax

 template bool equal(InputIterator1 first1, InputIterator1 last1,InputIterator2 first2); template bool equal(InputIterator1 first1, InputIterator1 last1, InputIterator2 first1, BinaryPredicate pred); 

Parameter

zuerst1 : Es ist ein Eingabeiterator für das erste Element von [first1, last1).

letzte1 : Es ist ein Eingabeiterator für das letzte Element von [first1, last1).

zuerst2 : Es ist ein Eingabeiterator für das erste Element von [first2, last2).

Vor : Es handelt sich um eine binäre Funktion, die zwei Elemente als Argumente akzeptiert und die von der Funktion entworfene Aufgabe ausführt.

Rückgabewert

Die Funktion gibt den Wert true zurück, wenn alle Elemente in beiden Containern übereinstimmen, andernfalls gibt sie false zurück.

mit Vollform

Beispiel 1

 #include #include #include using namespace std; bool newpredicate(int m, int n) { return(m==n); } int main() { int newints[]={20,40,60,80,100}; std::vector newvector(newints, newints+5); if(std::equal(newvector.begin(),newvector.end(),newints)) std::cout&lt;<'both the containers have matching elements.
'; else std::cout<<'both difference newvector[3]="81;" if(std::equal(newvector.begin(),newvector.end(),newints,newpredicate)) equal containers.
'; do not elements. 
'; return 0; } < pre> <p> <strong>Output:</strong> </p> <pre> Both the containers have matching elements. Both the containers do not have equal elements. </pre> <h2>Example 2</h2> <pre> #include using namespace std; int main() { int u1[]={10,20,30,40,50}; std::vector vec_1(u1,u1+sizeof(u1)/sizeof(int)); std::cout&lt;<'the vector consists of:'; for(unsigned int k="0;" k<vec_1.size(); k++) std::cout<<' '<<vec_1[k]; std::cout<<'
'; if(std::equal(vec_1.begin(),vec_1.end(),u1)) std::cout<<'both the containers have equal elements.
'; else cout<<'both different elements.'; } < pre> <p> <strong>Output:</strong> </p> <pre> The vector consists of: 10, 20,30,40,50 Both the containers have equal elements. </pre> <h2>Complexity</h2> <p>The function has linear complexity from the first1 element to the last1 element.</p> <h2>Data races</h2> <p>Objects in both ranges are accessed.</p> <h2>Exceptions</h2> <p>The function throws an exception if any of the argument throws one. </p> <br></'the></pre></'both>

Beispiel 2

 #include using namespace std; int main() { int u1[]={10,20,30,40,50}; std::vector vec_1(u1,u1+sizeof(u1)/sizeof(int)); std::cout&lt;<\'the vector consists of:\'; for(unsigned int k="0;" k<vec_1.size(); k++) std::cout<<\' \'<<vec_1[k]; std::cout<<\'
\'; if(std::equal(vec_1.begin(),vec_1.end(),u1)) std::cout<<\'both the containers have equal elements.
\'; else cout<<\'both different elements.\'; } < pre> <p> <strong>Output:</strong> </p> <pre> The vector consists of: 10, 20,30,40,50 Both the containers have equal elements. </pre> <h2>Complexity</h2> <p>The function has linear complexity from the first1 element to the last1 element.</p> <h2>Data races</h2> <p>Objects in both ranges are accessed.</p> <h2>Exceptions</h2> <p>The function throws an exception if any of the argument throws one. </p> <br></\'the>

Komplexität

Die Funktion hat vom ersten1-Element bis zum letzten1-Element eine lineare Komplexität.

Datenrennen

Auf Objekte in beiden Bereichen wird zugegriffen.

Ausnahmen

Die Funktion löst eine Ausnahme aus, wenn eines der Argumente eine Ausnahme auslöst.