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

Strumenti personali
Namespace
Varianti
Azioni
Navigazione
Strumenti
Altre lingue