logo

C++ Algoritma İşlev equal()

C++ Algoritması equal() işlevi, her iki kaptaki öğeleri karşılaştırır ve her iki kaptaki tüm öğelerin eşleştiği tespit edilirse gerçek bir değer döndürür. İlk aralık [ilk1, son1)'den, ikincisi ise ilk2'den başlar.

Sözdizimi

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

Parametre

ilk1 : [first1, last1)'in ilk elemanına yönelik bir giriş yineleyicisidir.

str'yi int'ye nasıl dönüştürebilirim?

son1 : [first1, last1)'in son elemanına yönelik bir giriş yineleyicisidir.

ilk2 : [first2, last2)'nin ilk elemanına yönelik bir giriş yineleyicisidir.

önce : İki öğeyi argüman olarak kabul eden ve fonksiyonun tasarladığı görevi yerine getiren ikili bir fonksiyondur.

Geri dönüş değeri

İşlev, her iki kapsayıcıdaki tüm öğeler eşleşirse true değerini döndürür, aksi takdirde false değerini döndürür.

örnek 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>

Örnek 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>

Karmaşıklık

Fonksiyon ilk1 elemanından son1 elemanına kadar doğrusal karmaşıklığa sahiptir.

Veri yarışları

Her iki aralıktaki nesnelere de erişilir.

İstisnalar

Bağımsız değişkenlerden herhangi biri bir istisna atarsa ​​işlev bir istisna atar.