Ho bisogno di una coda sulla n elementi in cui l'inserimento di (n +1) ° voce rimuove la 0 ° voce e l'inserimento può essere fatta solo sul "indietro".
Esiste già una struttura di questo tipo nella libreria boost o standard?coda di dimensioni limitate
risposta
È possibile utilizzare un boost::circular_buffer
avvolto da un std::queue
, qualcosa di simile:
#include <queue>
#include <boost/circular_buffer.hpp>
typedef std::queue<my_type, boost::circular_buffer<my_type>> my_queue;
const int n = 3;
...
my_queue q(boost::circular_buffer<my_type>(n));
q.push(1);
q.push(2);
q.push(3);
q.push(4); // queue now contains 2,3,4
ma perché lo wrapp in una 'coda '? perché non bare 'circular_queue' –
@DiproSen: l'unico scopo di' std :: queue' (ever), è quello di impedire a se stessi di accedere al contenitore sottostante tranne che spingendo un'estremità e leggendo/scoppiando l'altra. Sei quello che ha detto che ne hai bisogno. –
Ora è davvero pulito, devo dire! :) –
- 1. Dizionario con dimensioni limitate che rimuove gli elementi più vecchi?
- 2. L'indice di ricerca full-text avrà dimensioni limitate?
- 3. Matrici limitate in Ruby
- 4. Connessione RODBC - righe limitate
- 5. Esiste una coda di dimensioni fisse che rimuove elementi eccessivi?
- 6. SelectNodes non limitate alla Element
- 7. Risorse di processo non limitate da setrlimit
- 8. Carica una foto scattata dalla fotocamera a un server con dimensioni limitate
- 9. È possibile utilizzare l'approccio con pillola avvelenata con code limitate?
- 10. Esiste un limite alle dimensioni della coda MSMQ?
- 11. Un algoritmo avido per risorse limitate K
- 12. Eliminazione coda di coda in Mono
- 13. APPLICAZIONE CROSS con prestazioni limitate della funzione di tabella stimata
- 14. Coda ordinaria contro coda SEDA
- 15. Powershell - Log eventi di coda di coda? È possibile?
- 16. ThreadPoolExecutor senza coda
- 17. Impostazione del limite sulle dimensioni della coda di post con Boost Asio?
- 18. In Kubernetes, come si esegue la scalabilità automatica in base alle dimensioni di una coda?
- 19. Qual è il termine corretto per una coda FIFO di dimensioni fisse?
- 20. Oggetto heap e stringa di grandi dimensioni Oggetti provenienti da una coda
- 21. Sincronizzazione di una coda
- 22. Limite di coda WSMQ
- 23. Coda coda messaggi JS su Heroku
- 24. Coda operazioni e coda di invio per applicazione iOS
- 25. Qual è lo stato corrente delle monadi limitate?
- 26. coda chiamate AJAX
- 27. Chiamate a funzioni limitate in nodejs sulla stessa operazione?
- 28. NSAttributedString troncamento coda in UILabel
- 29. La coda JMS è piena
- 30. Perché le funzioni scala sono limitate a 22 parametri?
spinta buffer circolare? – PlasmaHH
Puoi dare limiti alle dimensioni? –
Lo spero; un buffer circolare di dimensioni illimitate non è distinguibile da un vettore;) – Rook