L'array viene utilizzato per archiviare più dati e il numero di elementi dell'array non può essere modificato in fase di esecuzione. Questo problema può essere risolto utilizzando un vettore che funziona come un array dinamico. Esistono diverse funzioni nella classe vettore per aggiungere e rimuovere un elemento dal vettore. La funzione erase() viene utilizzata per rimuovere uno o più elementi dal vettore in fase di esecuzione riducendo la dimensione del vettore. Gli usi di questa funzione sono stati spiegati in questo tutorial.
Sintassi:
Di seguito sono riportati due tipi di sintassi di questa funzione.
cancellazione dell'iteratore ( posizione dell'iteratore ) ;
La funzione erase() di cui sopra viene utilizzata per rimuovere un singolo elemento dal vettore e restituisce un iteratore e punta all'elemento seguito dall'ultimo elemento cancellato.
cancellazione dell'iteratore ( posizione_iniziale dell'iteratore, posizione_finale dell'iteratore ) ;
La funzione cancella() sopra viene utilizzata per rimuovere più elementi dal vettore in base alla posizione menzionata nel primo e nel secondo argomento di questa funzione.
Prerequisito:
Prima di controllare gli esempi di questo tutorial, devi verificare che il compilatore g++ sia installato o meno nel sistema. Se utilizzi Visual Studio Code, installa le estensioni necessarie per compilare il codice sorgente C++ per creare il codice eseguibile. In questo caso è stata utilizzata l'applicazione Visual Studio Code per compilare ed eseguire il codice C++. Di seguito sono mostrati diversi usi della funzione erase() per inserire elementi in un vettore.
Esempio 1: rimuovere il primo elemento elemento
Crea un file C++ con il codice seguente per rimuovere un elemento dall'inizio del vettore. Nel codice è stato utilizzato un vettore di valori stringa. I valori del vettore sono stati stampati prima e dopo l'eliminazione del primo elemento dal vettore utilizzando la funzione cancella() con un parametro.
//Includi le librerie necessarie#include
#include
utilizzando spazio dei nomi standard ;
//Visualizza i valori del vettore
vuoto display_vettore ( vettore < corda > frutta )
{
//Inizializza il contatore
int contatore = 1 ;
//Itera e stampa gli elementi del vettore usando loop
per ( auto Lui = frutta. inizio ( ) ; Lui ! = frutta. FINE ( ) ; Lui ++ )
{
//Verifica che gli elementi siano l'ultimo elemento o meno
Se ( contatore ! = frutta. misurare ( ) )
cout << * Lui << ', ' ;
altro
cout << * Lui ;
//Incrementa il contatore di 1
contatore ++ ;
}
cout << fine ;
}
int principale ( vuoto ) {
//Dichiara un vettore di dati stringa
vettore < corda > frutta = { 'Arancia' , 'Banana' , 'Mango' , 'Jackfrutto' , Litchi } ;
//Stampa i valori esistenti del vettore
cout << 'I valori del vettore prima della rimozione: ' << fine ;
display_vettore ( frutta ) ;
//Rimuove il primo elemento dal vettore
frutta. cancellare ( frutta. inizio ( ) ) ;
//Stampa i valori esistenti del vettore dopo la rimozione
cout << ' \N I valori del vettore dopo la rimozione: ' << fine ;
display_vettore ( frutta ) ;
ritorno 0 ;
}
Produzione:
Il seguente output apparirà dopo aver eseguito il codice sopra.
Esempio 2: rimuovere più elementi
Crea un file C++ con il seguente codice per rimuovere più elementi dal vettore utilizzando la funzione cancella(). Nel codice è stato utilizzato un vettore di valori interi. Qui sono stati utilizzati due iteratori per impostare l'intervallo di elementi rimossi dal vettore. La funzione erase() è stata utilizzata con due parametri per rimuovere più elementi dal vettore.
//Includi le librerie necessarie#include
#include
utilizzando spazio dei nomi standard ;
//Visualizza il vettore
vuoto display_vettore ( vettore < int > numeri )
{
//Stampa i valori del vettore usando loop
per ( auto Lui = numeri. inizio ( ) ; Lui ! = numeri. FINE ( ) ; Lui ++ )
cout << * Lui << ' ' ;
//Aggiungi una nuova riga
cout << ' \N ' ;
}
int principale ( ) {
//Dichiara un vettore di dati interi
vettore < int > intArray { 678 , 435 , 960 , 231 , 800 , 387 , 634 , 267 , 409 , 294 } ;
//Stampa i valori esistenti del vettore
cout << 'I valori del vettore prima della rimozione: ' << fine ;
display_vettore ( intArray ) ;
//Dichiara due iteratori per rimuovere l'intervallo di elementi dal vettore
vettore < int > :: iteratore inizioEle, fineEle ;
//Imposta l'iteratore sulla prima posizione
avviarli = intArray. inizio ( ) ;
//Incrementa l'iteratore iniziale di 2
avanzare ( iniziarli, 2 ) ;
//Imposta l'iteratore all'ultima posizione
fineEle = intArray. FINE ( ) ;
//Decrementa l'iteratore finale di 3
avanzare ( fineEle, - 3 ) ;
//Rimuove l'intervallo di elementi
intArray. cancellare ( inizioEle, fineEle ) ;
//Stampa i valori esistenti del vettore dopo la rimozione
cout << ' \N I valori del vettore dopo la rimozione: ' << fine ;
display_vettore ( intArray ) ;
ritorno 0 ;
}
Produzione:
Il seguente output apparirà dopo aver eseguito il codice sopra. A seconda dell'intervallo degli iteratori, gli elementi dalla 3a posizione alla 7a posizione del vettore sono stati rimossi.
Esempio 3: rimuovere gli elementi specifici
Crea un file C++ con il seguente codice per rimuovere gli elementi specifici del vettore utilizzando la funzione cancella(). Nel codice è stato dichiarato un vettore di 7 elementi interi. Successivamente, il ciclo 'for' è utilizzato per ripetere gli elementi del vettore e rimuovere quegli elementi dal vettore che non sono divisibili per 5.
//Includi le librerie necessarie#include
#include
utilizzando spazio dei nomi standard ;
int principale ( )
{
//Dichiara un vettore di dati interi
vettore < int > numeri = { 78 , Quattro cinque , 67 , 25 , 98 , 75 , 52 } ;
cout << 'I valori del vettore prima della rimozione: \N ' ;
per ( int cost & io : numeri ) {
cout << io << ' ' ;
}
cout << fine ;
//Rimuove dal vettore i numeri che non sono divisibili per 5
per ( auto Lui = numeri. inizio ( ) ; Lui ! = numeri. FINE ( ) ; Lui ++ )
{
//Verifica che il numero sia divisibile per 5 o meno
Se ( * Lui % 5 ! = 0 )
{
//Rimuove l'elemento in base all'iteratore
numeri. cancellare ( Lui -- ) ;
}
}
cout << 'I valori del vettore dopo la rimozione: \N ' ;
per ( int cost & io : numeri ) {
cout << io << ' ' ;
}
cout << fine ;
ritorno 0 ;
}
Produzione:
Il seguente output apparirà dopo aver eseguito il codice sopra. L'output mostra che il vettore contiene solo elementi divisibili per 5 e altri elementi sono stati rimossi.
Conclusione:
In questo tutorial sono stati mostrati diversi usi della funzione cancella() per rimuovere elementi vettoriali. Il C++ ha molte altre funzioni per rimuovere l'elemento dal vettore e tali funzioni possono rimuovere il singolo elemento alla volta. Ma sia gli elementi singoli che quelli multipli da qualsiasi posizione del vettore possono essere rimossi utilizzando la funzione vector erase().