Biblioteca de algoritmos C ++ - Función is_permutation ()

Descripción

La función C ++ std::algorithm::is_permutation()comprueba si una secuencia es permutación de otra o no. Utiliza el operador == para comparar.

Declaración

A continuación se muestra la declaración de la función std :: algorítm :: is_permutation () del encabezado std :: algoritmo.

C ++ 11

template <class ForwardIterator1, class ForwardIterator2>
bool is_permutation(ForwardIterator1 first1,ForwardIterator1 last1,
   ForwardIterator2 first2);

Parámetros

  • first1 - Introduzca el iterador en la posición inicial de la primera secuencia.

  • last1 - Introduzca el iterador en la posición final de la primera secuencia.

  • first2 - Introduzca el iterador en la posición inicial de la segunda secuencia.

Valor devuelto

Devuelve verdadero si el primer rango es una permutación de otro; de lo contrario, devuelve falso.

Excepciones

Lanza una excepción si la comparación de elementos o una operación en un iterador arroja una excepción.

Tenga en cuenta que los parámetros no válidos provocan un comportamiento indefinido.

Complejidad del tiempo

Cuadrático.

Ejemplo

El siguiente ejemplo muestra el uso de la función std :: algorítm :: is_permutation ().

#include <iostream>
#include <vector>
#include <algorithm>

using namespace std;

int main(void) {
   vector<int> v1 = {1, 2, 3, 4, 5};
   vector<int> v2 = {5, 4, 3, 2, 1};
   bool result;

   result = is_permutation(v1.begin(), v1.end(), v2.begin());

   if (result == true)
      cout << "Both vector contains same elements." << endl;

   v2[0] = 10;

   result = is_permutation(v1.begin(), v1.end(), v2.begin());

   if (result == false)
      cout << "Both vector doesn't contain same elements." << endl;
   return 0;
}

Compilemos y ejecutemos el programa anterior, esto producirá el siguiente resultado:

Both vector contains same elements.
Both vector doesn't contain same elements.