es que hay una manera fácil de hacer next_permutation para realizar un mismo conjunto de permutas de dos matrices diferentes del mismo tamaño por ejemplo si tengo dos matrices a[]={1,2,3,4,5}
y b[]={12,23,21,2,3}
si después de la permutación 1 en la matriz a va a la 3 ° posición, luego 12 en la matriz b también debe ir a la 3 ° posición.mismas permutaciones en dos matrices usando next_permutation() STL en C++
Respuesta
Usted puede hacer un conjunto de índices auxiliares:
int a[] = { 1, 2, 3, 4, 5 };
int b[] = { 12, 23, 21, 2, 3 };
std::size_t indices[] = { 0, 1, 2, 3, 4 };
Ahora realice las permutaciones en indices
, y luego utilice a[indices[i]]
y b[indices[i]]
.
Tenga en cuenta que std :: next_permutation no mantiene ningún estado (iría en contra del concepto de algoritmos stl). Entonces, ¿cómo genera la próxima permutación? Lo hace por el orden de los elementos. Es por eso que hay una versión que acepta un operador de comparación
Si le da una matriz ordenada de tamaño N, ¡next_permutation se puede llamar N! veces. De lo contrario, tiene menos permutaciones antes de que el algoritmo devuelva falso.
Para responder a su pregunta, si las matrices tienen el mismo orden en términos del "conjunto de índices auxiliares" como se sugirió anteriormente, entonces los mismos elementos se intercambiarán.
Ejemplo:
int a[] = { 1, 2, 4, 3 };
int b[] = { 11, 12, 14, 13 };
Estos se permutan el mismo, porque especie producirá el mismo orden de índice.
- 1. ¿Cómo combinaría dos matrices en Objective-C?
- 2. ¿Cómo puedo concatenar dos matrices en C?
- 3. regresar dos matrices creadas en C++
- 4. Concatenación de dos matrices en Objective-C
- 5. Comparando dos matrices en Matlab
- 6. permutaciones de dos listas en Python
- 7. array dividido en dos matrices
- 8. Fusionando dos matrices en Bash
- 9. Generando permutaciones usando bash
- 10. puedo usar para cada uno por dos mismas matrices de tamaño
- 11. Función de plantilla C++ para matrices, vectores, tipos incorporados, STL
- 12. Combinar dos matrices en JavaScript
- 13. Unir dos matrices en ColdFusion
- 14. Combinar dos matrices en Hash
- 15. next_permutation para combinaciones o subconjuntos en powerset
- 16. Combinar dos mapas STL
- 17. cadenas Relleno STL en C++
- 18. La comparación de matrices usando LINQ en C#
- 19. Ordenando un vector STL en dos valores
- 20. Matrices tridimensionales de enteros en C++
- 21. intersección de dos mapas STL
- 22. Intersecar dos matrices
- 23. NumPy: Comparación de elementos en dos matrices
- 24. ¿Cómo declaro dos matrices dimensionales en javascript?
- 25. cómo intersectar dos matrices en el objetivo C?
- 26. C++ concatenar dos matrices int en una mayor variedad
- 27. Obteniendo la "diferencia" entre dos matrices en C#?
- 28. php fusionar dos matrices
- 29. Buscar elementos "no iguales" en dos matrices
- 30. uniendo dos matrices numpy