insert
Da cppreference.com.
Sintassi:
#include <deque> iterator insert( iterator loc, const T& val ); void insert( iterator loc, size_type num, const T& val ); template<T> void insert( iterator loc, input_iterator start, input_iterator end );
La funzione insert() esiste in tre varianti:
- inserisce val alla posizione anteriore a quella puntata dall'iteratore loc e ritorna un iteratore all'elemento inserito
- inserisce num copie di val iniziando dalla posizione anteriore a quella puntata da loc
- inserisce gli elementi da start a end prima della posizione puntata da loc
Per esempio:
// Crea una deque e lo carica con i primi 10 caratteri dell'alfabeto deque<char> alphaDeque; for( int i=0; i < 10; i++ ) { alphaDeque.push_back( i + 65 ); } // Inserisce 4 C nella deque deque<char>::iterator theIterator = alphaDeque.begin(); alphaDeque.insert( theIterator, 4, 'C' ); // Mostra la deque for( theIterator = alphaDeque.begin(); theIterator != alphaDeque.end(); theIterator++ ) { cout << *theIterator; }
Questo codice stampa:
CCCCABCDEFGHIJ
Il prossimo esempio usa alcuni metodi per aggiungere dati ad una deque e ne stampa il contenuto con l'algoritmo 'copy'
deque<int> dq; dq.push_back(42); dq.push_front(1); dq.insert( dq.begin()+1, 2 ); dq[2] = 16; copy( dq.begin(), dq.end(), ostream_iterator<int>(cout," ") ); // stampa "1 2 16"
Argomenti correlati: assign, erase, push_back, push_front