Esiste una classe template C++ che implementa operazioni con permutazioni e gruppi di permutazioni? tale classe deve implementare la ricerca del prodotto e inversa, la moltiplicazione, eccEsiste una classe C++ che implementa le operazioni con le permutazioni?
risposta
STL include una funzione per la permutazione nell'algoritmo.h. Ecco un esempio per questo.
int main() { int myints[] = {1,2,3}; cout << "The 3! possible permutations with 3 elements:\n"; sort (myints,myints+3); do { cout << myints[0] << " " << myints[1] <<" " << myints[2] << endl; } while (next_permutation (myints,myints+3)); return 0; }
Per favore, "algoritmo" non "algoritm.h"! – KTC
Come mi aiuta a trovare la permissione inversa per esempio? –
Non funziona. Questa funzione si limita a enumerare i membri del gruppo di permutazione. Non sa nulla della struttura del gruppo - si basa solo sugli elementi dell'array di input che hanno un ordine definito. –
Non ne conosco uno, ma dovrebbe essere abbastanza semplice da implementare. Internamente potresti rappresentare la permutazione come un vettore, ad es. (1 3 4 2 7 5 6) essendo una permanente di 1-7 che invia 1-> 1, 2-> 3, 3-> 4, 4-> 2 ecc. O come un insieme di cicli, ad es. (1) (2 3 4) (5 7 6), e attuare le operazioni in termini di questi. Presumibilmente l'argomento modello sarebbe la dimensione del gruppo di permutazione.
- 1. Perché la mappa F # implementa le interfacce con operazioni mutabili?
- 2. Che cos'è una buona libreria C++ per le operazioni con le matrici
- 3. C# Classe astratta che implementa un'interfaccia
- 4. Ottieni tutte le permutazioni di una fetta
- 5. tutte le permutazioni di una lista
- 6. Esiste una sequenza di swap in grado di generare tutte le possibili permutazioni?
- 7. Come testare una classe che implementa Runnable
- 8. Esiste una libreria che implementa i nuovi metodi Javascript/Ecmascript 5 per le versioni precedenti?
- 9. Generazione di tutte le permutazioni escludendo le rotazioni cicliche
- 10. Esiste una classe Python/enum per operazioni flag/bit mask?
- 11. Esiste una classe STL C++ che funziona come una pipe?
- 12. Quale raccolta Java considera le permutazioni uguali?
- 13. Forza modello Singleton su una classe che implementa un'interfaccia
- 14. Ereditare da una classe base che implementa INotifyPropertyChanged
- 15. Esiste una libreria per quaternioni e matrici con tutte le operazioni standard?
- 16. Come elencare tutte le classi sul percorso classe che implementa un determinato insieme di interfacce
- 17. Imposta tutte le operazioni BigDecimal con una certa precisione?
- 18. strlen veloce con le operazioni bit
- 19. Serializzare proprietà personalizzate su una classe che implementa IEnumerable
- 20. Python ottenere tutte le permutazioni dei numeri
- 21. Due operazioni in un ciclo contro due cicli che eseguono le stesse operazioni una per ciclo
- 22. Sottoclassi di una classe che implementa un'interfaccia generica
- 23. Codice per enumerare le permutazioni in Scala
- 24. clojure - elenco tutte le permutazioni di una lista
- 25. Puntatore Objective-C alla classe che implementa un protocollo
- 26. Come generare tutte le permutazioni di una stringa in PHP?
- 27. tutte le permutazioni di una sequenza binaria x bit lungo
- 28. Python - ottieni tutte le permutazioni di una lista senza ripetizioni
- 29. Jedis supporta le operazioni asincrone
- 30. Cambiare l'interfaccia senza ricompilare classe che implementa
Nel moderno C++, non si userebbe una classe per questo. Probabilmente utilizzerai più modelli di funzioni. Un modello di funzione per operazione che si desidera supportare, con gli intervalli di input effettivi templati. – MSalters
La programmazione funzionale non è un'opzione. La programmazione orientata agli oggetti è buona. Ho davvero bisogno di template class. –
@MSalters: qual è il "range di input" per una funzione che accetta due permutazioni e restituisce il prodotto di tali permutazioni? Stai suggerendo che le permutazioni stesse siano meglio rappresentate al cliente come coppie iteratore piuttosto che come oggetti opachi? Penso che Alexey stia cercando qualcosa con più conoscenza della teoria dei gruppi rispetto a std :: next_permutation. –