Funzione di cancellazione vettoriale in C ++

Funzione di cancellazione vettoriale in C ++

L'array viene utilizzato per archiviare più dati e il numero di elementi dell'array non può essere modificato in tempo di esecuzione. Questo problema può essere risolto utilizzando un vettore che funziona come un array dinamico. Esistono diverse funzioni nella classe vettoriale per aggiungere e rimuovere un elemento dal vettore. La funzione Cancella () viene utilizzata per rimuovere uno o più elementi dal vettore in tempo di esecuzione che riduce le dimensioni 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.

Iterator Erase (posizione dell'iteratore);

La funzione di Cancella () sopra viene utilizzata per rimuovere un singolo elemento dal vettore e restituisce un iteratore e indica l'elemento che è seguito dall'ultimo elemento cancellato.

Iterator Erase (iteratore Starch_Position, iterator Ending_Position);

La funzione di Cancella () di cui sopra viene utilizzata per rimuovere più elementi dal vettore in base alla posizione menzionata nella prima e nel secondo argomento di questa funzione.

Prerequisito:

Prima di controllare gli esempi di questo tutorial, è necessario controllare il compilatore G ++ è installato o meno nel sistema. Se si utilizza il codice Visual Studio, installa le estensioni necessarie per compilare il codice sorgente C ++ per creare il codice eseguibile. Qui, l'applicazione del codice Visual Studio è stata utilizzata per compilare ed eseguire il codice C ++. Di seguito hanno mostrato diversi usi della funzione Cancella () 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. Un vettore di valori di stringa è stato utilizzato nel codice. I valori del vettore sono stati stampati prima e dopo aver eliminato il primo elemento dal vettore usando la funzione Cancella () con un parametro.

// Includi le librerie necessarie
#includere
#includere
Utilizzo dello spazio dei nomi std;
// Visualizza i valori del vettore
void display_vector (vettore frutta)

// Inizializza il contatore
int counter = 1;
// iterare e stampare gli elementi del vettore usando loop
per (auto Ele = frutti.inizio(); Ele != frutti.FINE(); Ele ++)

// Controlla gli elementi è l'ultimo elemento o no
Se (contatore != frutti.misurare())
cout << *ele << ", ";
altro
cout << *ele;
// incrementa il contatore di 1
contatore ++;

cout << endl;

int main (void)
// dichiara un vettore di dati di stringa
vettore Fruits = "Orange", "Banana", "Mango", "Jack Fruit", "Lichi";
// stampa i valori esistenti del vettore
cout << "The values of the vector before remove: " << endl;
display_vector (frutti);
// rimuovi il primo elemento dal vettore
frutta.Cancella (frutta.inizio());
// stampare i valori esistenti del vettore dopo la rimozione
cout << "\nThe values of the vector after remove: " << endl;
display_vector (frutti);
restituzione 0;

Produzione:

Verrà visualizzato il seguente output dopo aver eseguito il codice sopra.

Esempio-2: rimuovere più elementi

Crea un file C ++ con il seguente codice per rimuovere i più elementi dalla funzione vettoriale utilizzando ERASE (). Un vettore di valori interi è stato utilizzato nel codice. Due iteratori sono stati usati qui per impostare la gamma di elementi rimossi dal vettore. La funzione cancella () è stata utilizzata con due parametri per rimuovere più elementi dal vettore.

// Includi le librerie necessarie
#includere
#includere
Utilizzo dello spazio dei nomi std;
// Visualizza il vettore
void display_vector (vettore nums)

// Stampa i valori del vettore usando loop
per (auto Ele = nums.inizio(); Ele != nums.FINE() ; Ele ++)
cout << *ele << " ";
// Aggiungi nuova riga
cout << "\n";

int main ()
// Dichiara un vettore di dati interi
vettore Intarray 678, 435, 960, 231, 800, 387, 634, 267, 409, 294;
// stampa i valori esistenti del vettore
cout << "The values of the vector before remove: " << endl;
display_vector (intarray);
// dichiara due iteratori di rimuovere la gamma di elementi dal vettore
vettore :: Iterator Startele, Endele;
// Imposta l'iteratore in prima posizione
Startele = intarray.inizio();
// incrementa l'iteratore iniziale di 2
anticipo (startele, 2);
// Imposta l'iteratore sull'ultima posizione
Endele = intarray.FINE();
// Decremento l'iteratore finale di 3
anticipo (Endele, -3);
// Rimuovi la gamma di elementi
intarray.cancella (startele, endele);
// stampare i valori esistenti del vettore dopo la rimozione
cout << "\nThe values of the vector after remove: " << endl;
display_vector (intarray);
restituzione 0;

Produzione:

Verrà visualizzato il seguente output dopo aver eseguito il codice sopra. Secondo l'intervallo degli iteratori, gli elementi dalla terza 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 ERASE (). Un vettore di 7 elementi interi è stato dichiarato nel codice. Successivamente, il loop "per" ha usato per iterare gli elementi vettoriali e rimuovere quegli elementi dal vettore che non sono divisibili di 5.

// Includi le librerie necessarie
#includere
#includere
Utilizzo dello spazio dei nomi std;
int main ()

// Dichiara un vettore di dati interi
vettore numeri = 78, 45, 67, 25, 98, 75, 52;
cout << "The values of the vector before remove:\n";
per (int const & i: numeri)
cout << i << ";

cout << endl;
// rimuovi i numeri dal vettore che non sono divisibili per 5
per (auto Ele = numeri.inizio(); Ele != Numeri.FINE(); Ele ++)

// Controllare che il numero è divisibile per 5 o no
if (*Ele % 5 != 0)

// Rimuovi l'elemento in base all'iteratore
numeri.cancella (ele--);


cout << "The values of the vector after remove:\n";
per (int const & i: numeri)
cout << i << ";

cout << endl;
restituzione 0;

Produzione:

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

Conclusione:

In questo tutorial sono stati mostrati diversi usi della funzione cancella () per rimuovere gli 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 elementi singoli che multipli da qualsiasi posizione del vettore possono essere rimossi utilizzando la funzione vettoriale ().