logo

C++ algoritma funkcija vienāda()

Funkcija C++ Algorithm equal() salīdzina elementus abos konteineros un atgriež patieso vērtību, ja tiek konstatēts, ka visi elementi abos konteineros atbilst. Pirmais diapazons ir no [first1,last1) un otrais sākas no first2.

Sintakse

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

Parametrs

pirmais1 : tas ir [first1, last1) pirmā elementa ievades iterators.

pēdējais1 : tas ir [first1, last1) pēdējā elementa ievades iterators.

pirmais2 : tas ir [first2, last2) pirmā elementa ievades iterators.

pirms tam : tā ir bināra funkcija, kas pieņem divus elementus kā argumentus un veic funkcijas paredzēto uzdevumu.

Atdeves vērtība

Funkcija atgriež vērtību true, ja visi elementi abos konteineros atbilst, pretējā gadījumā tā atgriež vērtību false.

1. piemērs

 #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. piemērs

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

Sarežģītība

Funkcijai ir lineāra sarežģītība no pirmā elementa līdz pēdējam1 elementam.

Datu sacīkstes

Tiek piekļūts objektiem abos diapazonos.

Izņēmumi

Funkcija rada izņēmumu, ja kāds no argumentiem to izdara.