Funzione Cancella vettore() in C++

Vector Erase Function C



L'array viene utilizzato per memorizzare 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 vector 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 che riduce 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(iteratore posizione_iniziale, iteratore posizione_finale);

La funzione cancella() di cui 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 stai usando Visual Studio Code, installa le estensioni necessarie per compilare il codice sorgente C++ per creare il codice eseguibile. Qui, l'applicazione Visual Studio Code è stata utilizzata 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 seguente codice 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 aver eliminato il primo elemento dal vettore utilizzando la funzione erase() con un parametro.

//Include le librerie necessarie

#includere

#includere

usando spazio dei nomiore;

//Visualizza i valori del vettore

vuotodisplay_vector(vettore<corda>frutta)

{

//Inizia il contatore

intcontatore= 1;

//Itera e stampa gli elementi del vettore usando loop

per (autolui=frutta.inizio();lui!=frutta.fine();lui++)

{

//Controlla che gli elementi siano l'ultimo elemento o meno

Se(contatore!=frutta.dimensione())

costo << *lui<< ',';

altro

costo << *lui;

// Incrementa il contatore di 1

contatore++;

}

costo <<fine;

}

intprincipale(vuoto) {

//Dichiara un vettore di dati stringa

vettore<corda>frutta= { 'Arancia','Banana','Mango','Jack frutta','Lichi' };

//Stampa i valori esistenti del vettore

costo << 'I valori del vettore prima della rimozione: ' <<fine;

display_vector(frutta);

//Rimuove il primo elemento dal vettore

frutta.cancellare(frutta.inizio());

//Stampa i valori esistenti del vettore dopo la rimozione

costo << ' I valori del vettore dopo la rimozione: ' <<fine;

display_vector(frutta);

Restituzione 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 usando la funzione erase(). 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.

//Include le librerie necessarie

#includere

#includere

usando spazio dei nomiore;

//Visualizza il vettore

vuotodisplay_vector(vettore<int>numeri)

{

//Stampa i valori del vettore usando loop

per(autolui=numeriinizio();lui!=numerifine() ;lui++)

costo << *lui<< '';

//Aggiungi nuova riga

costo << ' ';

}

intprincipale() {

//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

costo << 'I valori del vettore prima della rimozione: ' <<fine;

display_vector(intArray);

//Dichiara due iteratori per rimuovere l'intervallo di elementi dal vettore

vettore<int> :: iteratorestartEle, endEle;

//Imposta l'iteratore nella prima posizione

startEle=intArray.inizio();

// Incrementa l'iteratore iniziale di 2

progredire(startEle,2);

//Imposta l'iteratore sull'ultima posizione

fine Ele=intArray.fine();

//Decrementa l'iteratore finale di 3

progredire(fine Ele,-3);

//Rimuove l'intervallo di elementi

intArray.cancellare(startEle, endEle);

//Stampa i valori esistenti del vettore dopo la rimozione

costo << ' I valori del vettore dopo la rimozione: ' <<fine;

display_vector(intArray);

Restituzione 0;

}

Produzione:

Il seguente output apparirà dopo aver eseguito il codice sopra. A seconda della gamma degli iteratori, sono stati rimossi gli elementi dalla 3a posizione alla 7a posizione del vettore.

Esempio 3: rimuovere gli elementi specifici

Crea un file C++ con il seguente codice per rimuovere gli elementi specifici del vettore usando la funzione erase(). Nel codice è stato dichiarato un vettore di 7 elementi interi. Successivamente, il ciclo 'for' è stato utilizzato per iterare gli elementi del vettore e rimuovere quegli elementi dal vettore che non sono divisibili per 5.

//Include le librerie necessarie

#includere

#includere

usando spazio dei nomiore;

intprincipale()

{

//Dichiara un vettore di dati interi

vettore<int>numeri= { 78,Quattro cinque,67,25,98,75,52 };

costo << 'I valori del vettore prima della rimozione: ';

per (int cost &io:numeri) {

costo <<io<< '';

}

costo <<fine;

//Rimuovi i numeri dal vettore quelli non sono divisibili per 5

per (autolui=numeri.inizio();lui!=numeri.fine();lui++)

{

//Controlla che il numero sia divisibile per 5 o meno

Se (*lui% 5 != 0)

{

//Rimuove l'elemento in base all'iteratore

numeri.cancellare(lui-);

}

}

costo << 'I valori del vettore dopo la rimozione: ';

per (int cost &io:numeri) {

costo <<io<< '';


}


costo <<fine;


Restituzione 0;

}

Produzione:

Il seguente output apparirà dopo aver eseguito il codice sopra. L'output mostra che il vettore contiene gli elementi divisibili solo per 5 e che altri elementi sono stati rimossi.

Conclusione:

In questo tutorial sono stati mostrati diversi usi della funzione erase() per rimuovere elementi vettoriali. Il C++ ha molte altre funzioni per rimuovere l'elemento dal vettore e quelle funzioni possono rimuovere il singolo elemento alla volta. Ma sia gli elementi singoli che quelli multipli da qualsiasi posizione del vettore possono essere rimossi usando la funzione vector erase().