logo

C++ algoritmo funkcija lygi()

Funkcija C++ Algorithm equal() lygina elementus abiejuose konteineriuose ir grąžina tikrąją reikšmę, jei nustatoma, kad visi elementai abiejuose konteineriuose atitinka. Pirmasis diapazonas yra nuo [first1,last1), o antrasis prasideda nuo first2.

Sintaksė

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

Parametras

pirmas1 : Tai yra pirmojo [first1, last1) elemento įvesties iteratorius.

paskutinis1 : Tai paskutinio [first1, last1) elemento įvesties iteratorius.

c# kodo pavyzdžiai

pirmas2 : Tai yra pirmojo [first2, last2) elemento įvesties iteratorius.

daliniai latekso dariniai

prieš : tai dvejetainė funkcija, kuri priima du elementus kaip argumentus ir atlieka funkcijos numatytą užduotį.

Grąžinimo vertė

Funkcija grąžina reikšmę true, jei visi elementai abiejuose konteineriuose sutampa, kitu atveju ji grąžina false.

1 pavyzdys

 #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>

2 pavyzdys

 #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>

Sudėtingumas

Funkcija yra tiesinio sudėtingumo nuo pirmojo elemento iki paskutinio1 elemento.

Duomenų lenktynės

Prieiga prie abiejų diapazonų objektų.

rinkinys vs žemėlapis

Išimtys

Funkcija meta išimtį, jei kuri nors iš argumentų ją meta.