30 esempi di vettori C++

30 Esempi Di Vettori C



In C++, Vector è una struttura dati unidimensionale che si aumenta dinamicamente in base ai requisiti. L'organizzazione dei dati (inserimento/modifica/cancellazione) può essere eseguita in modo efficiente in questa struttura dati. Le sue applicazioni includono quanto segue:

  1. Rappresentazione dei vettori matematici in applicazioni scientifiche e ingegneristiche
  2. Code, stack possono essere implementati utilizzando questa struttura dati, ecc.

La maggior parte delle operazioni e funzioni CRUD comuni relative a questa struttura dati vengono discusse in dettaglio in termini di scenario con sintassi e frammenti di codice.







Argomento dei contenuti:

  1. Inserisci un elemento in un vettore
  2. Inserisci più elementi in un vettore
  3. Accedi agli elementi da un vettore
  4. Aggiorna l'elemento in un vettore
  5. Rimuovi un elemento specifico da un vettore
  6. Rimuovi tutti gli elementi da un vettore
  7. Unione di vettori
  8. Intersezione di vettori
  9. Controlla se il vettore è vuoto o meno
  10. Attraversa un vettore usando Const_Iterator
  11. Attraversa un vettore usando Reverse_Iterator
  12. Spingi gli elementi nel vettore
  13. Fai scoppiare gli elementi dal vettore
  14. Scambia i vettori
  15. Recupera il primo elemento dal vettore
  16. Recupera l'ultimo elemento dal vettore
  17. Assegna nuovi valori a un vettore
  18. Estendi il vettore usando Emplace()
  19. Estendi il vettore usando Emplace_Back()
  20. Elemento massimo di un vettore
  21. Elemento minimo di un vettore
  22. Somma degli elementi in un vettore
  23. Moltiplicazione elementare di due vettori
  24. Prodotto scalare di due vettori
  25. Converti un insieme in un vettore
  26. Rimuovi gli elementi duplicati
  27. Converti un vettore in un insieme
  28. Rimuovere le stringhe vuote
  29. Scrivere un vettore in un file di testo
  30. Crea un vettore da un file di testo

Inserisci un elemento in un vettore

IL std::vettore::insert() La funzione in C++ STL viene utilizzata per inserire gli elementi nella posizione specificata.



Sintassi:

vettore. inserire ( posizione, elemento ) ;

Utilizziamo questa funzione e passiamo la prima posizione come parametro che specifica la posizione in cui deve essere inserito l'elemento e forniamo l'elemento come secondo parametro.



La funzione Begin() può essere utilizzata qui per restituire un iteratore che punta al primo elemento del vettore di input. Aggiungendo la posizione a questa funzione, l'elemento viene inserito in quella posizione.





Creiamo il vettore “student_names” di tipo string e inseriamo due stringhe alla prima e alla seconda posizione, una dopo l'altra, utilizzando la funzione insert().

#include

utilizzando spazio dei nomi standard ;

principale ( )

{

// Inizializzazione del vettore - student_names

vettore < corda > nomi_studenti ;

cout << 'Vettore esistente: \N ' ;

per ( auto io : nomi_studenti ) cout << io << fine ;

// Inserisci 'Sravan Kumar' nella prima posizione

nomi_studenti. inserire ( nomi_studenti. inizio ( ) + 0 , 'Shravan Kumar' ) ;

// Inserisci 'Sravan Kumar' nella seconda posizione

nomi_studenti. inserire ( nomi_studenti. inizio ( ) + 1 , 'Lalita' ) ;

cout << 'Vettore finale: \N ' ;

per ( auto J : nomi_studenti ) cout << J << fine ;

}

Produzione:

In precedenza, il vettore “student_names” era vuoto. Dopo l'inserimento, il vettore contiene due elementi.



Inserisci più elementi in un vettore

Usiamo la stessa funzione che è std::vettore::insert() in questo scenario. Ma dobbiamo passare i parametri extra/diversi alla stessa funzione per inserire più elementi in un vettore.

Scenario 1: inserimento di un singolo elemento più volte

In questo scenario, aggiungiamo lo stesso elemento più volte.

Sintassi:

vettore. inserire ( posizione, dimensione, elemento ) ;

Per fare ciò, dobbiamo passare la dimensione come secondo parametro alla funzione insert(). Il totale dei parametri passati a questa funzione è tre.

Qui:

  1. Il parametro position specifica la posizione dell'elemento da inserire. Se la dimensione è maggiore di 1, l'indice della posizione iniziale sarà la posizione.
  2. Il parametro size specifica il numero di volte in cui un elemento deve essere inserito.
  3. Il parametro element accetta l'elemento da inserire in un vettore.

Considera il vettore 'student_names' con due stringhe. Inserisci le corde “Lavanya” cinque volte nella seconda posizione.

#include

utilizzando spazio dei nomi standard ;

principale ( )

{

// Inizializzazione del vettore - student_names

vettore < corda > nomi_studenti { 'Shravan Kumar' , 'Lalita' } ;

cout << 'Vettore esistente: \N ' ;

per ( auto io : nomi_studenti ) cout << io << fine ;

// Inserisci 'Lavanya' nella seconda posizione 5 volte

nomi_studenti. inserire ( nomi_studenti. inizio ( ) + 1 , 5 , 'Lavania' ) ;

cout << ' \N Vettore finale: \N ' ;

per ( auto J : nomi_studenti ) cout << J << fine ;

}

Produzione:

Nel vettore esistente, “Sravan Kumar” è nella prima posizione e “Lalitha” è nella seconda posizione. Dopo aver inserito “Lavanya” cinque volte (dalla seconda posizione alla sesta posizione), “Lalitha” si è spostata alla settima posizione (ultima).

Scenario 2: inserimento di più elementi

In questo scenario, aggiungiamo i diversi elementi alla volta da un altro vettore. Usiamo anche qui la stessa funzione ma la sintassi e i parametri cambieranno.

Sintassi:

vettore. inserire ( posizione, primo_iteratore, secondo_iteratore ) ;

Per fare ciò, dobbiamo passare la dimensione come secondo parametro alla funzione insert(). Il totale dei parametri passati a questa funzione è tre.

Qui:

  1. Il parametro position specifica la posizione dell'elemento da inserire.
  2. Il “first_iterator” specifica la posizione iniziale da cui devono essere inseriti gli elementi (in pratica, utilizzando la funzione Begin(), viene restituito un iteratore che punta al primo elemento presente nel contenitore).
  3. Il “second_iterator” specifica la posizione finale fino alla quale devono essere inseriti gli elementi (in pratica, utilizzando la funzione end(), viene restituito un iteratore che punta accanto all'ultimo punto presente nel contenitore).

Creare due vettori, “marks1” e “marks2”, di tipo intero. Inserisci tutti gli elementi presenti nel vettore “marks2” nella prima posizione del vettore “marks1”.

#include

utilizzando spazio dei nomi standard ;

principale ( )

{

// Inizializzazione del vettore -marks1

vettore < int > segna1 { 100 , 89 , 90 , 78 , 98 } ;

cout << 'Primo vettore: \N ' ;

per ( auto io : segna1 ) cout << io << fine ;

// Inizializzazione del vettore -marks2

vettore < int > segna2 { 56 , Quattro cinque , 65 } ;

cout << 'Secondo vettore: \N ' ;

per ( auto J : segna2 ) cout << J << fine ;

segna1. inserire ( inizio ( segna1 ) , inizio ( segna2 ) , FINE ( segna2 ) ) ;



// Vettore finale

cout << 'Vettore Primo-Finale: \N ' ;

per ( auto X : segna1 )

cout << X << ' ' ;

}

Produzione:

Il primo vettore (marks1) contiene cinque elementi e il secondo vettore (marks2) contiene tre elementi. Abbiamo passato i parametri Begin (marks1), Begin(marks2), End(marks2) alla funzione “insert” in modo tale che tutti gli elementi presenti nel secondo vettore vengano iterati e inseriti nel primo vettore all'inizio. Quindi, il primo vettore contiene otto elementi.

Accedi agli elementi da un vettore

1. Utilizzando l'operatore [].

In alcuni scenari, potrebbe essere necessario restituire solo gli elementi specifici del vettore. Non è necessario restituire tutti gli elementi. Pertanto, per restituire solo gli elementi specifici in base all'indice, vengono utilizzati l'operatore indice e le funzioni at().

Sintassi:

vettore [ posizione_indice ]

In C++, l'indicizzazione inizia da 0 per qualsiasi struttura dati. Se l'elemento non esiste, restituisce vuoto (non viene generato alcun errore o avviso).

Considera il vettore 'prodotti' con cinque articoli. Accedi a tutti gli elementi uno per uno utilizzando la posizione dell'indice.

#include

utilizzando spazio dei nomi standard ;

principale ( )

{

// Crea vettore - prodotti con 5 stringhe

vettore < corda > prodotti { 'sapone' , 'shampoo' , 'olio' , 'frutta' , 'verdure' } ;

//Accesso agli elementi dai prodotti

cout << 'Primo elemento:' << prodotti [ 0 ] << fine ;

cout << 'Secondo elemento:' << prodotti [ 1 ] << fine ;

cout << 'Terzo elemento:' << prodotti [ 2 ] << fine ;

cout << 'Quarto elemento:' << prodotti [ 3 ] << fine ;

cout << 'Quinto elemento:' << prodotti [ 4 ] << fine ;



// Prova ad accedere al 9° elemento

cout << 'Nono Elemento:' << prodotti [ 8 ] << fine ;

}

Produzione:

Non è presente alcun elemento nell'indice 8. Quindi viene restituito vuoto.

2. Utilizzando la funzione At()

At() è una funzione membro simile al caso d'uso precedente ma restituisce l'eccezione 'std::out_of_range' quando gli viene fornito l'indice fuori intervallo.

Sintassi:

vettore. A ( posizione_indice )

Dobbiamo passare la posizione dell'indice a questa funzione.

Considera il vettore 'prodotti' con cinque articoli. Accedi a tutti gli elementi uno per uno utilizzando la posizione dell'indice e prova ad accedere all'elemento presente nella nona posizione.

#include

utilizzando spazio dei nomi standard ;

principale ( )

{

// Crea vettore - prodotti con 5 stringhe

vettore < corda > prodotti { 'sapone' , 'shampoo' , 'olio' , 'frutta' , 'verdure' } ;

//Accesso agli elementi dai prodotti

cout << 'Primo elemento:' << prodotti. A ( 0 ) << fine ;

cout << 'Secondo elemento:' << prodotti. A ( 1 ) << fine ;

cout << 'Terzo elemento:' << prodotti. A ( 2 ) << fine ;

cout << 'Quarto elemento:' << prodotti. A ( 3 ) << fine ;

cout << 'Quinto elemento:' << prodotti. A ( 4 ) << fine ;



//Accesso agli elementi non presenti nel vettore

cout << 'Nono Elemento:' << prodotti. A ( 8 ) << fine ;

}

Produzione:

Si verifica un errore durante l'accesso al 9° elemento:

terminate chiamato dopo aver lanciato un'istanza di 'std::fuori_intervallo'

Che cosa ( ) : vettore :: _M_intervallo_controllo : __N ( che è 8 ) >= Questo - > misurare ( ) ( che è 5 )

Aggiorna un elemento in un vettore

1. Utilizzando l'operatore [].

Usando la posizione dell'indice, possiamo aggiornare l'elemento nel vettore. L'operatore [] prende la posizione dell'indice dell'elemento che deve essere aggiornato. Il nuovo elemento verrà assegnato a questo operatore.

Sintassi:

Vettore [ posizione_indice ] = Elemento

Considera il vettore 'student_marks' con cinque valori. Aggiornare gli elementi presenti agli indici 1 e 3.

#include

#include

utilizzando spazio dei nomi standard ;

principale ( )

{

// Crea vettore - student_marks

vettore < int > voti_studente { 98 , 78 , 90 , 67 , 89 } ;

cout << 'Marchi esistenti: ' << fine ;

per ( int itr : voti_studente )

cout << itr << fine ;

// Aggiorna l'elemento all'indice-3 con 100

voti_studente [ 3 ] = 100 ;

// Aggiorna l'elemento all'indice-1 con 60

voti_studente [ 1 ] = 60 ;

cout << 'Voto finale:' << fine ;

per ( int itr : voti_studente )

cout << itr << fine ;

}

Produzione:

Possiamo vedere che il vettore finale contiene gli elementi di aggiornamento agli indici 1 e 3.

2. Utilizzando la funzione At()

Similmente all'operatore indice, at() è fondamentalmente una funzione membro che aggiorna il valore in base all'indice in un iteratore. Se l'indice specificato all'interno di questa funzione non esiste, viene generata l'eccezione 'std::out_of_range'.

vettore. A ( posizione_indice ) = Elemento

Considera il vettore 'prodotti' con cinque articoli. Aggiorna tutti gli elementi presenti nel vettore con altri elementi.

#include

utilizzando spazio dei nomi standard ;

principale ( )

{

// Crea vettore - prodotti con 5 stringhe

vettore < corda > prodotti { 'sapone' , 'shampoo' , 'olio' , 'frutta' , 'verdure' } ;

cout << 'Prodotti esistenti: ' << fine ;

per ( stringa itr : prodotti )

cout << itr << fine ;

//Aggiornamento di tutte le stringhe

prodotti. A ( 0 ) = 'Torta' ;

prodotti. A ( 1 ) = 'Cioccolato' ;

prodotti. A ( 2 ) = 'Frutta' ;

prodotti. A ( 3 ) = 'Cipolle' ;

prodotti. A ( 4 ) = 'Bevande analcoliche' ;



cout << ' \N Prodotti finali: ' << fine ;

per ( stringa itr : prodotti )

cout << itr << fine ;

}

Produzione:

Rimuovi un elemento specifico da un vettore

In C++, il std::vettore::erase() la funzione viene utilizzata per rimuovere un elemento/intervallo di elementi specifico da un vettore. Gli elementi vengono rimossi in base alle posizioni dell'iteratore.

Sintassi:

vettore. cancellare ( posizione dell'iteratore )

Vediamo la sintassi per rimuovere l'elemento specifico da un vettore. Possiamo utilizzare le funzioni Begin() o End() per ottenere la posizione dell'elemento presente nel vettore da rimuovere.

Considera il vettore 'prodotti' con cinque articoli.

  1. Rimuovere il terzo elemento specificando l'iteratore Begin(). Begin() punta al primo elemento del vettore. Se aggiungiamo due a questa funzione, punta al terzo elemento.
  2. Rimuovi l'ultimo elemento specificando l'iteratore end(). End() punta all'ultimo elemento del vettore.
#include

utilizzando spazio dei nomi standard ;

principale ( )

{

// Crea vettore - prodotti con 5 stringhe

vettore < corda > prodotti { 'sapone' , 'shampoo' , 'olio' , 'frutta' , 'verdure' } ;

cout << 'Prodotti esistenti: ' << fine ;

per ( stringa itr : prodotti )

cout << itr << fine ;



// Rimuove il terzo elemento

prodotti. cancellare ( prodotti. inizio ( ) + 2 ) ;

cout << ' \N Dopo aver rimosso il 3° elemento: \N ' ;

per ( stringa itr : prodotti )

cout << itr << fine ;

// Rimuove l'ultimo elemento

prodotti. cancellare ( prodotti. FINE ( ) ) ;

cout << ' \N Dopo aver rimosso l'ultimo elemento: \N ' ;

per ( stringa itr : prodotti )

cout << itr << fine ;

}

Produzione:

Ora, ci sono solo tre elementi (“sapone”, “shampoo”, “frutta”) che esistono nel vettore “prodotti”.

Rimuovi tutti gli elementi da un vettore

Scenario 1: rimuovere un intervallo di elementi da un vettore

Usiamo la funzione std::vettore::erase() per rimuovere più elementi in un intervallo.

Sintassi:

vettore. cancellare ( prima l'iteratore, ultimo l'iteratore )

I due iteratori (begin() punta al primo elemento e end() punta all'ultimo elemento) vengono utilizzati per specificare l'intervallo.

Considera il vettore 'prodotti' con cinque articoli e rimuovi tutti gli elementi dalla seconda posizione. Per raggiungere questo obiettivo, il primo iteratore è Begin (prodotti)+1 che punta al secondo elemento e il secondo iteratore è End (prodotti).

#include

utilizzando spazio dei nomi standard ;

principale ( )

{

// Crea vettore - prodotti con 5 stringhe

vettore < corda > prodotti { 'sapone' , 'shampoo' , 'olio' , 'frutta' , 'verdure' } ;

cout << 'Prodotti esistenti: ' << fine ;

per ( stringa itr : prodotti )

cout << itr << fine ;



// Rimuove tutti gli elementi dalla seconda posizione

prodotti. cancellare ( inizio ( prodotti ) + 1 ,FINE ( prodotti ) ) ;

cout << ' \N Prodotti finali: \N ' ;

per ( stringa itr : prodotti )

cout << itr << fine ;

}

Produzione:

Ora, c’è solo un elemento (“sapone”) che è presente nel vettore “prodotti”.

Scenario 2: rimuovi tutti gli elementi dal vettore

Usiamo il std::vettore::clear() funzione per rimuovere tutti gli elementi dal vettore.

Sintassi:

vettore. chiaro ( )

Nessun parametro viene passato a questa funzione.

Considera lo stesso vettore utilizzato nel primo scenario e rimuovi tutti gli elementi utilizzando la funzione clear().

#include

utilizzando spazio dei nomi standard ;

principale ( )

{

// Crea vettore - prodotti con 5 stringhe

vettore < corda > prodotti { 'sapone' , 'shampoo' , 'olio' , 'frutta' , 'verdure' } ;

cout << 'Prodotti esistenti: ' << fine ;

per ( stringa itr : prodotti )

cout << itr << fine ;



// Rimuove tutti gli elementi dai prodotti

prodotti. chiaro ( ) ;

cout << ' \N Prodotti finali: \N ' ;

per ( stringa itr : prodotti )

cout << itr << fine ;

}

Produzione:

Possiamo vedere che non ci sono elementi nel vettore “prodotti”.

Unione di vettori

È possibile eseguire l'operazione UNION sui vettori utilizzando la funzione std::set_union(). Union restituisce gli elementi univoci dai vettori ignorando gli elementi duplicati. Dobbiamo passare entrambi gli iteratori a questa funzione. Insieme a questo, deve essere passato un iteratore di output che memorizza il risultato restituito da entrambi gli iteratori.

Sintassi:

set_unione ( InputIterator1 primo1, InputIterator1 ultimo1, InputIterator2 primo2, InputIterator2 ultimo2, OutputIterator res ) ;

Qui:

  1. Il “first1” punta al primo elemento del primo iteratore (vettore).
  2. Il 'last1' punta all'ultimo elemento del primo iteratore (vettore).
  3. Il “first2” punta al primo elemento del secondo iteratore (vettore).
  4. Il 'last2' punta all'ultimo elemento del secondo iteratore (vettore).

Crea due vettori – “soggetti1” e “soggetti2” – di tipo intero.

  1. Ordina i due vettori utilizzando la funzione sort() passando gli iteratori.
  2. Creare un vettore di output (iteratore).
  3. Trova l'unione di questi due vettori utilizzando la funzione std::set_union(). Utilizza Begin() come primo iteratore e End() come ultimo iteratore.
  4. Iterare il vettore di output per visualizzare gli elementi restituiti dalla funzione.
#include

#include

#include

utilizzando spazio dei nomi standard ;

principale ( )

{

// Crea vettore -marks1

vettore < int > segna1 = { 100 , 90 , 80 , 70 , 60 } ;



// Crea vettore -marks2

vettore < int > segna2 = { 80 , 90 , 60 , 70 , 100 } ;

// Ordina entrambi i vettori

ordinare ( segna1. inizio ( ) , segna1. FINE ( ) ) ;

ordinare ( segna2. inizio ( ) , segna2. FINE ( ) ) ;

vettore < int > outputVector ( segna1. misurare ( ) + segna2. misurare ( ) ) ;

vettore < int > :: iteratore È ;

io = set_union ( segna1. inizio ( ) , segna1. FINE ( ) ,

segna2. inizio ( ) ,segna2. FINE ( ) ,

outputVector. inizio ( ) ) ;

cout << ' \N punti1 U punti2: \N ' ;

per ( S = outputVector. inizio ( ) ; S ! = io ; ++ S )

cout << * S << ' ' << ' \N ' ;

}

Produzione:

Ci sono solo cinque elementi univoci in entrambi i vettori (soggetti1 e soggetti2).

Intersezione di vettori

Trovare l'intersezione di due vettori può essere possibile utilizzando la funzione std::set_intersection(). L'intersezione restituisce gli elementi presenti in entrambi i vettori.

Sintassi:

set_intersezione ( InputIterator1 primo1, InputIterator1 ultimo1, InputIterator2 primo2, InputIterator2 ultimo2, OutputIterator res ) ;

I parametri passati alla funzione set_union() possono essere passati anche a questa funzione set_intersection().

Crea due vettori – “soggetti1” e “soggetti2” – di tipo intero.

  1. Ordina i due vettori utilizzando la funzione sort() passando gli iteratori.
  2. Creare un vettore di output (iteratore).
  3. Trova l'intersezione di questi due vettori utilizzando la funzione std::set_intersection(). Utilizza Begin() come primo iteratore e End() come ultimo iteratore.
  4. Iterare il vettore di output per visualizzare gli elementi restituiti dalla funzione.
#include

#include

#include

utilizzando spazio dei nomi standard ;

principale ( )

{

// Crea vettore -marks1

vettore < int > segna1 = { 100 , 10 , 80 , 40 , 60 } ;



// Crea vettore -marks2

vettore < int > segna2 = { cinquanta , 90 , 60 , 10 , 100 } ;

// Ordina entrambi i vettori

ordinare ( segna1. inizio ( ) , segna1. FINE ( ) ) ;

ordinare ( segna2. inizio ( ) , segna2. FINE ( ) ) ;

vettore < int > outputVector ( segna1. misurare ( ) + segna2. misurare ( ) ) ;

vettore < int > :: iteratore È ;

io = set_intersezione ( segna1. inizio ( ) , segna1. FINE ( ) ,

segna2. inizio ( ) ,segna2. FINE ( ) ,

outputVector. inizio ( ) ) ;

cout << ' \N voti1 ∩ voti2: \N ' ;

per ( S = outputVector. inizio ( ) ; S ! = io ; ++ S )

cout << * S << ' ' << ' \N ' ;

}

Produzione:

Ci sono solo tre elementi presenti in entrambi i vettori (soggetti1 e soggetti2).

Controlla se il vettore è vuoto o meno

Prima di lavorare sui vettori, è importante verificare se il vettore è vuoto o meno. È anche buona pratica nei progetti software verificare se il vettore è vuoto o meno prima di eseguire operazioni come operazioni CRUD, ecc.

1. Utilizzando Std::vettore::empty()

Questa funzione restituisce 1 se il vettore è vuoto (non contiene alcun elemento). Altrimenti viene restituito 0. Nessun parametro viene passato a questa funzione.

2. Utilizzando il Std::vettore::dimensione()

La funzione std::vettore::size() restituisce il numero intero che rappresenta il numero totale di elementi presenti nel vettore.

Crea due vettori: 'college1' e 'college2'. 'College1' contiene cinque elementi e 'college2' è vuoto. Applica entrambe le funzioni su entrambi i vettori e controlla l'output.

#include

#include

#include

utilizzando spazio dei nomi standard ;

principale ( )

{

// Crea vettore - college1

vettore < corda > collegio1 = { 'college-A' , 'college-B' , 'college-C' , 'college-D' , 'college-E' } ;

// Crea vettore - college2

vettore < corda > collegio2 ;

// vuoto()

cout << collegio1. vuoto ( ) << fine ;

cout << collegio2. vuoto ( ) << fine ;

// misurare()

cout << collegio1. misurare ( ) << fine ;

cout << collegio2. misurare ( ) << fine ;

}

Produzione:

La funzione empty() restituisce 0 per “college1” e 1 per “college2”. La funzione size() restituisce cinque per “college1” e 0 per “college2”.

Attraversa un vettore usando Const_Iterator

Quando lavori su contenitori C++ come set, vettori, ecc., è possibile eseguire un'iterazione su tutti gli elementi presenti nel contenitore senza modificarli. IL const_iterator è uno degli iteratori che realizzano questo scenario. cbegin() (punta al primo elemento nel vettore) e cend() (punta all'ultimo elemento nel vettore) sono le due funzioni fornite da ciascun contenitore che viene utilizzato per restituire l'iteratore costante all'inizio e alla fine di Il container. Durante l'iterazione del vettore, possiamo utilizzare queste due funzioni.

  1. Creiamo un vettore denominato 'dipartimenti' con cinque stringhe.
  2. Dichiara un const_iterator – ctr di tipo .
  3. Itera sui dipartimenti utilizzando l'iteratore precedente utilizzando il ciclo 'for' e visualizzalo.
#include

#include

utilizzando spazio dei nomi standard ;

principale ( )

{

// Crea vettore - dipartimenti

vettore < corda > dipartimenti = { 'Saldi' , 'Servizio' ,

'HR' , 'ESSO' , 'Altri' } ;



vettore < corda > :: const_iterator ctr ;

// Itera sui dipartimenti usando const_iterator - ctr.

per ( ctr = dipartimenti. cbegin ( ) ; ctr ! = dipartimenti. alcuni ( ) ; ctr ++ ) {

cout << * ctr << fine ;

}

}

Produzione:

Attraversa un vettore usando Reverse_Iterator

IL reverse_iterator è anche un iteratore simile a const_iterator ma restituisce gli elementi al contrario. rbegin() (punta all'ultimo elemento nel vettore) e rend() (punta al primo elemento nel vettore) sono le due funzioni fornite da ciascun contenitore che viene utilizzato per restituire l'iteratore costante alla fine e all'inizio di Il container.

  1. Creiamo un vettore denominato 'dipartimenti' con cinque stringhe.
  2. Dichiara un reverse_iterator – rtr di tipo .
  3. Itera sui dipartimenti utilizzando l'iteratore precedente utilizzando il ciclo 'for' e visualizzalo.
#include

#include

utilizzando spazio dei nomi standard ;

principale ( )

{

// Crea vettore - dipartimenti

vettore < corda > dipartimenti = { 'Saldi' , 'Servizio' ,

'HR' , 'ESSO' , 'Altri' } ;



vettore < corda > :: reverse_iterator rtr ;

// Itera sui dipartimenti utilizzando reverse_iterator - rtr.

per ( rtr = dipartimenti. rbegin ( ) ; rtr ! = dipartimenti. fa ( ) ; rtr ++ ) {

cout << * rtr << fine ;

}

}

Produzione:

Spingi gli elementi nel vettore

Spingere o aggiungere gli elementi in un vettore è un inserimento unidirezionale che può essere eseguito utilizzando il comando vettore::push_back() funzione.

Sintassi:

vettore. respingere ( elemento )

È necessario che un elemento venga inserito nel vettore come parametro.

Creiamo un vettore vuoto denominato 'dipartimenti' con cinque stringhe e spingiamo due stringhe una dopo l'altra utilizzando la funzione push_back().

#include

#include

utilizzando spazio dei nomi standard ;

principale ( )

{

// Inizializza il vettore - dipartimenti

vettore < corda > dipartimenti ;

cout << 'Dipartimenti effettivi:' << fine ;

per ( auto itr = dipartimenti. inizio ( ) ; itr ! = dipartimenti. FINE ( ) ; ++ itr )

cout << * itr << fine ;

// Premi 'Vendite'

dipartimenti. respingere ( 'Saldi' ) ;

// Spingilo'

dipartimenti. respingere ( 'ESSO' ) ;

cout << ' \N Dipartimenti finali:' << fine ;

per ( auto itr = dipartimenti. inizio ( ) ; itr ! = dipartimenti. FINE ( ) ; ++ itr )

cout << * itr << fine ;

}

Produzione:

Innanzitutto, spingiamo le “vendite”. Successivamente, 'IT' viene inserito nel vettore. Ora, il vettore “dipartimenti” contiene due elementi.

Fai scoppiare gli elementi dal vettore

Se vuoi eliminare l'ultimo elemento presente nel vettore, utilizza il file vettore::pop_back() la funzione è l'approccio migliore. Cancella l'ultimo elemento presente nel vettore.

Sintassi:

vettore. pop_back ( )

Per questa funzione non è necessario alcun parametro. Mostra il comportamento indefinito se proviamo a eliminare l'ultimo elemento da un vettore vuoto.

Creiamo un vettore vuoto denominato 'dipartimenti' con cinque stringhe ed eliminiamo l'ultimo elemento utilizzando la funzione precedente. Visualizza il vettore in entrambi i casi.

#include

#include

utilizzando spazio dei nomi standard ;

principale ( )

{

// Inizializza vettore - dipartimenti

vettore < corda > dipartimenti = { 'Saldi' , 'ESSO' , 'Servizio' , 'Marketing' , 'HR' } ;

cout << 'Dipartimenti effettivi:' << fine ;

per ( auto itr = dipartimenti. inizio ( ) ; itr ! = dipartimenti. FINE ( ) ; ++ itr )

cout << * itr << fine ;



// Elimina l'ultimo elemento

dipartimenti. pop_back ( ) ;

cout << ' \N Dipartimenti finali:' << fine ;

per ( auto itr = dipartimenti. inizio ( ) ; itr ! = dipartimenti. FINE ( ) ; ++ itr )

cout << * itr << fine ;

}

Produzione:

“HR” è l’ultimo elemento presente nel vettore “dipartimenti”. Quindi, viene rimosso dal vettore e il vettore finale contiene “Vendite”, “IT”, “Servizio” e “Marketing”.

Scambia i vettori

IL vettore::scambia() La funzione in C++ STL viene utilizzata per scambiare tutti gli elementi presenti in due vettori.

Sintassi:

primo_vettore. scambio ( secondo_vettore )

Non considera la dimensione dei vettori ma i vettori dovrebbero essere dello stesso tipo (viene generato un errore se i tipi di vettore sono diversi).

Creiamo due vettori – “frutta” e “verdura” – di tipo stringa con dimensioni diverse. Scambia ciascuno di essi e visualizza i vettori in entrambi i casi.

#include

#include

utilizzando spazio dei nomi standard ;

principale ( )

{

// Inizializza il vettore - frutti

vettore < corda > frutta = { 'Mela' , 'Mango' } ;

cout << 'Frutti reali:' << fine ;

per ( auto itr = frutta. inizio ( ) ; itr ! = frutta. FINE ( ) ; ++ itr )

cout << * itr << fine ;



// Inizializza il vettore - verdure

vettore < corda > verdure = { 'Patata' , 'Pomodoro' , 'Brinjal' } ;

cout << ' \N Verdure vere:' << fine ;

per ( auto itr = verdure. inizio ( ) ; itr ! = verdure. FINE ( ) ; ++ itr )

cout << * itr << fine ;



// Scambia gli elementi in entrambi i vettori

frutta. scambio ( verdure ) ;

cout << ' \N Frutta dopo lo scambio:' << fine ;

per ( auto itr = frutta. inizio ( ) ; itr ! = frutta. FINE ( ) ; ++ itr )

cout << * itr << fine ;

cout << ' \N Verdure dopo lo scambio:' << fine ;

per ( auto itr = verdure. inizio ( ) ; itr ! = verdure. FINE ( ) ; ++ itr )

cout << * itr << fine ;

}

Produzione:

In precedenza, il vettore “frutta” contiene due elementi e il vettore “verdura” contiene tre elementi. Dopo lo scambio, il vettore “frutta” contiene tre elementi e il vettore “verdura” contiene due elementi.

Recupera il primo elemento dal vettore

In alcuni casi, il requisito è restituire solo il primo elemento del vettore. La funzione vector::front() in C++ STL recupera solo il primo elemento dal vettore.

Sintassi:

vettore. davanti ( )

Questa funzione non prenderà alcun parametro. Se il vettore è vuoto, viene generato un errore.

Creiamo due vettori – “frutta” e “verdura” – di tipo stringa e proviamo a recuperare il primo elemento separatamente dai due vettori.

#include

#include

utilizzando spazio dei nomi standard ;

principale ( )

{

// Crea un vettore: frutti con 2 elementi

vettore < corda > frutta = { 'Mela' , 'Mango' } ;

// Restituisce il primo elemento

cout << frutta. davanti ( ) << fine ;



// Inizializza il vettore - verdure

vettore < corda > verdure ;

// Prova a restituire il primo elemento

cout << verdure. davanti ( ) ;

}

Produzione:

“Mela” è il primo elemento presente nel vettore “frutta”. Quindi, viene restituito. Ma viene generato un errore quando proviamo a recuperare il primo elemento dal vettore “verdure” poiché è vuoto.

Recupera l'ultimo elemento dal vettore

La funzione vector::end() in C++ STL recupera solo l'ultimo elemento dal vettore.

Sintassi:

vettore. Indietro ( )

Questa funzione non prenderà alcun parametro. Se il vettore è vuoto, viene generato un errore.

Creiamo due vettori – “frutta” e “verdura” – di tipo stringa e proviamo a recuperare l'ultimo elemento separatamente dai due vettori.

#include

#include

utilizzando spazio dei nomi standard ;

principale ( )

{

// Crea un vettore: frutti con 2 elementi

vettore < corda > frutta = { 'Mela' , 'Mango' } ;

// Recupera l'ultimo elemento

cout << frutta. Indietro ( ) << fine ;



// Inizializza il vettore - verdure

vettore < corda > verdure ;

// Prova a recuperare l'ultimo elemento

cout << verdure. Indietro ( ) ;

}

Produzione:

'Mango' è l'ultimo elemento presente nel vettore 'frutta'. Quindi, viene restituito. Ma viene generato un errore quando proviamo a recuperare l'ultimo elemento dal vettore “verdure” poiché è vuoto.

Assegna nuovi valori a un vettore

In alcuni scenari, se si desidera aggiornare tutti i valori con il nuovo valore o creare un vettore con gli stessi valori, utilizzare la funzione vector::assign() è l'approccio migliore. Usando questa funzione possiamo:

  1. Crea il vettore con tutti gli elementi simili
  2. Modifica il vettore esistente con lo stesso elemento

Sintassi:

vettore. assegnare ( dimensione, valore )

Per questa funzione sono richiesti due parametri.

Qui:

  1. La dimensione specifica il numero di elementi da assegnare.
  2. Il valore specifica l'elemento da assegnare.

Creiamo un vettore denominato 'marks1' con cinque valori e aggiorniamo questo vettore con quattro elementi in modo tale che tutti gli elementi nel vettore aggiornato siano uguali a 20.

#include

#include

#include

utilizzando spazio dei nomi standard ;

principale ( )

{

// Crea vettore -marks1

vettore < int > segna1 = { 100 , 90 , 80 , 70 , 60 } ;

cout << 'Vettore effettivo:' << fine ;

per ( int io = 0 ; io < segna1. misurare ( ) ; io ++ )

cout << segna1 [ io ] << fine ;



segna1. assegnare ( 4 , venti ) ;



cout << ' \N Vettore aggiornato:' << fine ;

per ( int io = 0 ; io < segna1. misurare ( ) ; io ++ )

cout << segna1 [ io ] << fine ;

}

Produzione:

In precedenza, il vettore contiene cinque elementi diversi. Ora contiene solo quattro elementi e tutti sono uguali a 20.

Estendi il vettore usando Emplace()

Sappiamo già che i nuovi elementi vengono inseriti dinamicamente in qualsiasi posizione in un vettore. È possibile utilizzando la funzione vector::emplace(). Vediamo rapidamente la sintassi e i parametri accettati da questa funzione.

Sintassi:

vettore. posizione ( posizione const_iterator, elemento )

A questa funzione vengono passati due parametri obbligatori.

Qui:

  1. Il primo parametro prende la posizione in modo che possiamo inserire l'elemento in qualsiasi posizione. Possiamo ottenere la posizione utilizzando la funzione iteratore Begin() o End().
  2. Il secondo parametro è l'elemento da inserire nel vettore.

Considera il vettore “chimici” con due elementi.

  1. Inserisci “Manganese” nella prima posizione – inizio(prodotti chimici)
  2. Inserire 'Rame' nell'ultima posizione - fine (prodotti chimici)
  3. Inserisci 'Zolfo' nella terza posizione – inizio(prodotti chimici)+2
#include

#include

#include

utilizzando spazio dei nomi standard ;

principale ( )

{

// Crea vettore - prodotti chimici

vettore < corda > sostanze chimiche = { 'Ossigeno' , 'CO' } ;

cout << 'Prodotti chimici reali:' << fine ;

per ( int io = 0 ; io < sostanze chimiche. misurare ( ) ; io ++ )

cout << sostanze chimiche [ io ] << fine ;



// Inserisce l'elemento nella prima posizione

sostanze chimiche. posizione ( inizio ( sostanze chimiche ) , 'Manganese' ) ;



// Inserisce l'elemento nell'ultima posizione

sostanze chimiche. posizione ( FINE ( sostanze chimiche ) , 'Rame' ) ;



// Inserisci l'elemento nella terza posizione

sostanze chimiche. posizione ( inizio ( sostanze chimiche ) + 2 , 'Zolfo' ) ;



cout << ' \N Prodotti chimici finali:' << fine ;

per ( int io = 0 ; io < sostanze chimiche. misurare ( ) ; io ++ )

cout << sostanze chimiche [ io ] << fine ;

}

Produzione:

Ora, il vettore finale contiene cinque elementi (forniti nello screenshot seguente).

Estendi il vettore usando Emplace_Back()

È possibile aggiungere un elemento (aggiungendo alla fine del vettore) utilizzando il comando vettore::emplace_back() funzione.

Sintassi:

vettore. emplace_back ( elemento )

È obbligatorio passare l'elemento da accodare al vettore come parametro.

Aggiungiamo due elementi uno dopo l'altro utilizzando la funzione emplace_back().

#include

#include

#include

utilizzando spazio dei nomi standard ;

principale ( )

{

// Crea vettore - prodotti chimici

vettore < corda > sostanze chimiche = { 'Ossigeno' , 'CO' } ;

cout << 'Prodotti chimici reali:' << fine ;

per ( int io = 0 ; io < sostanze chimiche. misurare ( ) ; io ++ )

cout << sostanze chimiche [ io ] << fine ;



// Inserisci Manganese alla fine del vettore

sostanze chimiche. emplace_back ( 'Manganese' ) ;



// Inserisci Manganese alla fine del vettore

sostanze chimiche. emplace_back ( 'Rame' ) ;





cout << ' \N Prodotti chimici finali:' << fine ;

per ( int io = 0 ; io < sostanze chimiche. misurare ( ) ; io ++ )

cout << sostanze chimiche [ io ] << fine ;

}

Produzione:

Ora, il vettore finale contiene quattro elementi dopo aver aggiunto “Manganese” e “Rame”.

Elemento massimo di un vettore

  1. Crea un vettore con alcuni elementi.
  2. Per trovare l'elemento massimo presente nel vettore, utilizzare la funzione *max_element() che accetta due iteratori come argomenti. Questi due parametri fungono da intervallo e l'elemento massimo viene restituito entro l'intervallo fornito. La posizione iniziale è Begin() e l'ultima posizione è End().
* max_elemento ( primo_Indice,ultimo_Indice )

Consideriamo un vettore denominato 'item_costs' che contiene cinque valori di tipo intero e restituisce l'elemento massimo.

#include

#include

#include

utilizzando spazio dei nomi standard ;

principale ( )

{

// Crea vettore - item_costs

vettore < int > articolo_costi = { 8900 , 5677 , 200 , 1000 , 2300 } ;



cout << 'Costo degli articoli: \N ' ;

per ( int io = 0 ; io < articolo_costi. misurare ( ) ; io ++ )

cout << articolo_costi [ io ] << fine ;



// Restituisce l'elemento massimo dal vettore precedente - item_costs

cout << ' \N Costo massimo: ' << * max_elemento ( inizio ( articolo_costi ) ,FINE ( articolo_costi ) ) ;

}

Produzione:

Qui, 8900 è l'elemento massimo tra tutti gli elementi presenti nel vettore 'item_costs'.

Elemento minimo di un vettore

  1. Crea un vettore con alcuni elementi.
  2. Per trovare l'elemento minimo presente nel vettore, utilizzare la funzione *min_element() che accetta due iteratori come argomenti. Questi due parametri fungono da intervallo e l'elemento minimo (meno di tutti gli altri elementi) viene restituito entro l'intervallo fornito. La posizione iniziale è Begin() e l'ultima posizione è End().
* min_elemento ( primo_Indice,ultimo_Indice )

Utilizza lo stesso vettore creato per trovare l'elemento massimo e trova l'elemento minimo utilizzando la funzione *min_element().

#include

#include

#include

utilizzando spazio dei nomi standard ;

principale ( )

{

// Crea vettore - item_costs

vettore < int > articolo_costi = { 8900 , 5677 , 200 , 1000 , 2300 } ;



cout << 'Costo degli articoli: \N ' ;

per ( int io = 0 ; io < articolo_costi. misurare ( ) ; io ++ )

cout << articolo_costi [ io ] << fine ;



// Restituisce l'elemento minimo dal vettore precedente - item_costs

cout << ' \N Costo minimo: ' << * min_elemento ( inizio ( articolo_costi ) ,FINE ( articolo_costi ) ) ;

}

Produzione:

Qui, 200 è l'elemento minimo tra tutti gli elementi presenti nel vettore “item_costs”.

Somma degli elementi in un vettore

Per restituire la somma di tutti gli elementi presenti nel vettore, il accumulare() viene utilizzata la funzione in C++ STL. Accetta tre parametri. Il primo parametro accetta il primo indice che rappresenta l'elemento iniziale nell'intervallo (specificare l'iteratore Begin()) e il secondo parametro accetta l'ultimo indice che rappresenta l'elemento finale nell'intervallo (specificare l'iteratore end()). Infine, dobbiamo passare il valore iniziale della somma (nel nostro caso è 0).

accumulare ( primo_indice, ultimo_indice, valore_iniziale ) ;

Crea un vettore denominato 'item_costs' con cinque elementi di tipo intero e calcola la somma.

#include

utilizzando spazio dei nomi standard ;

principale ( )

{

// Crea vettore - item_costs

vettore < int > articolo_costi = { 8900 , 5677 , 200 , 1000 , 2300 } ;



cout << 'Costo degli articoli: \N ' ;

per ( int io = 0 ; io < articolo_costi. misurare ( ) ; io ++ )

cout << articolo_costi [ io ] << fine ;



// Restituisce la somma di tutti gli elementi nel vettore precedente - item_costs

cout << ' \N Costo totale: ' << accumulare ( inizio ( articolo_costi ) ,FINE ( articolo_costi ) , 0 ) ;

}

Produzione:

La somma di 8900, 5677, 200, 1000, 2300 è 18077.

Moltiplicazione elementare di due vettori

  1. Creare due vettori di tipo numerico e due vettori devono avere la stessa dimensione (numero totale di elementi presenti nel primo vettore = numero totale di elementi presenti nel secondo vettore).
  2. Dichiara un nuovo vettore e usa il file per ciclo , esegui l'operazione di moltiplicazione su due elementi in ciascuna iterazione e memorizza il valore nel vettore creato utilizzando la funzione push_back().
  3. per ( int itr = 0 ; io < primo_vec. misurare ( ) ; itr ++ )

    {

    vettore_risultato. respingere ( primo_vec [ itr ] * sec_cosa [ itr ] ) ;

    }
  4. Visualizza gli elementi presenti nel vettore risultante iterandolo.

Crea un vettore denominato 'item_costs' con cinque elementi di tipo intero e calcola la somma.

#include

utilizzando spazio dei nomi standard ;

principale ( )

{

// Crea due vettori: prodotti1 e prodotti2 con 5 elementi ciascuno

vettore < int > prodotti1 = { 10 , venti , 30 , 40 , cinquanta } ;

vettore < int > prodotti2 = { cinquanta , 40 , 30 , 70 , 60 } ;



vettore < int > risultato_prodotti ;



// Esegue la moltiplicazione degli elementi

per ( int io = 0 ; io < prodotti1. misurare ( ) ; io ++ ) {

risultato_prodotti. respingere ( prodotti1 [ io ] * prodotti2 [ io ] ) ;

}



// Visualizza il vettore risultante

cout << 'Moltiplicazione dei vettori: \N ' ;

per ( int ris : risultato_prodotti )

cout << ris << fine ;

}

Produzione:

Iterazione - 1 : 10 * cinquanta => 500

Iterazione - 2 : venti * 40 => 800

Iterazione - 3 : 30 * 30 => 900

Iterazione - 4 : 40 * 70 => 2800

Iterazione - 5 : cinquanta * 60 => 3000

Prodotto scalare di due vettori

Nel caso dei vettori C++, il prodotto scalare è definito come la “somma dei prodotti degli elementi corrispondenti delle due sequenze di vettori”.

Sintassi:

prodotto interno ( Prima Vector1, Ultimo Vector1, Prima Vector2, Iniziale_Val )

Utilizza la funzione inner_product() per restituire il prodotto scalare. Questa funzione accetta quattro parametri richiesti.

Qui:

  1. Il primo parametro si riferisce a un iteratore che punta all'inizio del primo vettore (specificare utilizzando la funzione Begin()).
  2. Il secondo parametro si riferisce ad un iteratore che punta alla fine del primo vettore (specificare utilizzando la funzione end()).
  3. Il terzo parametro si riferisce a un iteratore che punta all'inizio del secondo vettore (specificare utilizzando la funzione Begin()).
  4. Il valore iniziale deve essere passato come ultimo parametro che è un numero intero per l'accumulo del prodotto scalare.

Utilizza lo stesso programma creato per la moltiplicazione di due vettori e usa la funzione innsr_product() per trovare il prodotto scalare dei due vettori.

#include

utilizzando spazio dei nomi standard ;

principale ( )

{

// Crea due vettori: prodotti1 e prodotti2 con 5 elementi ciascuno

vettore < int > prodotti1 = { 10 , venti , 30 , 40 , cinquanta } ;

vettore < int > prodotti2 = { cinquanta , 40 , 30 , 70 , 60 } ;



// Visualizza il vettore risultante

cout << 'Prodotto punto di prodotti1 e prodotti2: ' ;

cout << prodotto interno ( inizio ( prodotti1 ) ,FINE ( prodotti1 ) ,inizio ( prodotti2 ) , 0 ) ;

}

Produzione:

( 10 * cinquanta ) + ( venti * 40 ) + ( 30 * 30 ) + ( 40 * 70 ) + ( cinquanta * 60 )

=> 500 + 800 + 900 + 2800 + 3000

=> 8000

Converti un insieme in un vettore

Esistono molti modi per convertire un set in un vettore passando tutti gli elementi generati in un set in un vettore. Il modo migliore e più semplice è utilizzare la funzione std::copy().

Sintassi

standard :: copia ( sourceIterator per primo, sourceIterator per ultimo, DestinationIterator per primo )

Usa il std::copia() funzione che inserisce gli elementi di un insieme nel vettore. Ci vogliono tre parametri.

Qui:

  1. Il primo parametro si riferisce all'iteratore di origine che punta al primo elemento nell'iteratore. Qui, set è l'iteratore di origine specificato utilizzando la funzione Begin().
  2. Allo stesso modo, il secondo parametro punta all'ultimo elemento (funzione end()).
  3. Il terzo parametro si riferisce all'iteratore di destinazione che punta al primo elemento (specificato utilizzando la funzione Begin()) nell'iteratore.

Creiamo un set con cinque studenti e copiamo tutti gli elementi in un vettore utilizzando la funzione precedente.

#include

utilizzando spazio dei nomi standard ;

principale ( )

{

// Crea un set - studenti con 5 elementi

impostato < corda > studenti = { 'Sravana' , 'Bobby' , 'Madhu' , 'Meghana' , 'Lavania' } ;

cout << 'Impostato: \N ' ;

per ( stringa i : studenti )

cout << io << fine ;



// Crea vettore: dimensione student_vcof uguale alla dimensione del set

vettore < corda > studente_vc ( studenti. misurare ( ) ) ;



// Inserisci elementi da un set - students in un vettore - student_vc.

copia ( studenti. inizio ( ) , studenti. FINE ( ) , studente_vc. inizio ( ) ) ;



cout << ' \N Vettore: \N ' ;

per ( stringa i : studente_vc )

cout << io << fine ;

}

Produzione:

Ora tutti gli elementi presenti nel set “Students” vengono copiati nel vettore “students_vc”.

Rimuovi gli elementi duplicati

  1. Innanzitutto, dobbiamo ordinare gli elementi nel vettore in modo che tutti gli elementi duplicati siano adiacenti tra loro utilizzando il metodo std::sort() funzione.
  2. standard :: ordinare ( Prima il vettore, poi il vettore ) ;
  3. Utilizzare la funzione std::unique() in modo che gli elementi duplicati vengano selezionati. Allo stesso tempo, utilizza la funzione erase() per rimuovere i duplicati restituiti dalla funzione std::unique(). L'ordine degli elementi può cambiare nel vettore finale.
  4. vettore. cancellare ( standard :: unico ( Prima il vettore, poi il vettore ) , Ultimo vettore ) )

Crea il vettore “studenti” con 10 elementi e restituisci il vettore rimuovendo i duplicati.

#include

utilizzando spazio dei nomi standard ;

principale ( )

{

// Crea un vettore - studenti con 10 elementi

vettore < corda > studenti = { 'Sravana' , 'Bobby' , 'Madhu' , 'Meghana' , 'Lavania' ,

'Sravana' , 'Bobby' , 'Madhu' , 'Meghana' , 'Lavania' } ;

cout << 'Studenti: \N ' ;

per ( stringa i : studenti )

cout << io << ' ' ;



// Ordina tutti gli elementi nel vettore degli studenti.

ordinare ( inizio ( studenti ) , FINE ( studenti ) ) ;



// Utilizza la funzione unique() per rimuovere i duplicati con la funzione erase()

studenti. cancellare ( unico ( inizio ( studenti ) , FINE ( studenti ) ) , FINE ( studenti ) ) ;



cout << ' \N \N Studenti unici: \N ' ;

per ( auto itr = cbegin ( studenti ) ; itr ! = alcuni ( studenti ) ; ++ itr ) {

cout << * itr << ' ' ;

}

}

Produzione:

Ora, tutti gli elementi sono unici nel vettore.

Converti un vettore in un insieme

Set non consente elementi duplicati. Se stai digitando per inserire un vettore in un set con duplicati, questi verranno ignorati. Utilizziamo la stessa funzione std::copy() utilizzata nello scenario precedente per convertire il set in un vettore.

In questo scenario:

  1. Il primo parametro accetta il vettore come iteratore di origine specificato utilizzando la funzione Begin().
  2. Il secondo parametro accetta il vettore come iteratore di origine specificato utilizzando la funzione end().
  3. Passa la funzione std::inserter() che viene utilizzata per sovrascrivere/copiare automaticamente gli elementi in una posizione specifica nel set fornendo il set e l'iteratore che puntano alla fine del set come parametri.

Creiamo un vettore con 10 numeri interi e copiamo gli elementi in un set.

#include

utilizzando spazio dei nomi standard ;

principale ( )

{

// Crea un set: segna con 10 valori

vettore < int > segni = { 12 , 3.4 , 56 , 78 , 65 , 78 , 90 , 90 , 78 , 3.4 } ;

cout << 'Vettore: \N ' ;

per ( int io : segni )

cout << io << ' ' ;



// Crea set -marks_set di dimensione uguale alla dimensione del vettore

impostato < int > segni_set ;



// Inserisci elementi da un set - students in un vettore - student_vc.

copia ( inizio ( segni ) ,FINE ( segni ) , inseritore ( set_segni,fine ( segni_set ) ) ) ;



cout << ' \N \N Impostato: \N ' ;

per ( int io : segni_set )

cout << io << ' ' ;

}

Produzione:

Il vettore esistente denominato 'marks' ha 10 valori. Dopo averlo copiato nel set “marks_set”, contiene solo sei elementi perché gli altri quattro elementi sono duplicati.

Rimuovere le stringhe vuote

Non è possibile utilizzare stringhe vuote presenti in un vettore. È buona norma rimuovere le stringhe vuote presenti nel vettore. Vediamo come rimuovere le stringhe vuote dal vettore C++:

  1. Iterare il vettore utilizzando il ciclo 'for'.
  2. In ogni iterazione, controlla se l'elemento è vuoto (“”) o non utilizza l'operatore “==” con la funzione membro at().
  3. Utilizzando la funzione std::erase(), rimuovere le stringhe vuote dopo aver verificato la condizione precedente.
  4. Ripeti i passaggi 2 e 3 fino alla fine del vettore.

Creiamo il vettore “aziende” con 10 stringhe. Di questi, cinque sono vuoti e li rimuoviamo implementando l'approccio precedente.

#include

#include

utilizzando spazio dei nomi standard ;

principale ( ) {



vettore < corda > aziende { 'Azienda-A' , '' , 'Azienda-B' ,

'' , 'Azienda-C' , '' , 'Azienda-D' , '' , '' , '' } ;



// Itera sulle aziende

// e rimuove gli elementi vuoti usando erase()

per ( int itr = 1 ; itr < aziende. misurare ( ) ; ++ itr ) {

Se ( aziende. A ( itr ) == '' ) {

aziende. cancellare ( aziende. inizio ( ) + itr ) ;

-- itr ;

}
}

// Visualizza il vettore


per ( auto & io : aziende ) {

cout << io << fine ;

}

}

Produzione:

Ora, il vettore “aziende” contiene le stringhe non vuote.

Scrivere un vettore in un file di testo

Parliamo di come scrivere tutti gli elementi presenti in un vettore in un file utilizzando gli indici vettoriali utilizzando il file fstream .

  1. Inserisci alcuni elementi al suo interno utilizzando la funzione push_back dopo aver inizializzato il vettore.
  2. Utilizza la funzione open() dalla libreria “fstream” con la modalità out.
  3. Attraversa ogni elemento presente nel vettore utilizzando gli indici in un ciclo 'for' e scrivi ciascun elemento nel file fornito.
  4. Infine, chiudi il file.

Implementiamo l'approccio precedente eseguendo un codice C++.

#include

#include

#include

#include

utilizzando spazio dei nomi standard ;

principale ( )

{

// Crea un vettore - v_data

// e inserisci due elementi al suo interno.

vettore < corda > v_data ;

v_data. respingere ( 'Benvenuto' ) ;

v_data. respingere ( 'a LinuxSuggerimento' ) ;

flusso f ;



// Apre il file

F. aprire ( 'file_scritto.txt' ,ios_base :: fuori ) ;

// Itera ogni elemento del vettore e scrive nel file uno per uno.

per ( int io = 0 ; io < v_data. misurare ( ) ; io ++ )

{

F << v_data [ io ] << fine ;

}

// Chiude il file

F. vicino ( ) ;

}

Produzione:

Il vettore “v_data” contiene due elementi e nel percorso in cui viene eseguito il programma viene creato un file con gli elementi presenti nel vettore.

Crea un vettore da un file di testo

Abbiamo imparato come scrivere gli elementi presenti nel vettore in un file di testo. Qui creiamo un vettore dal contenuto presente nel file di testo.

  1. Creare un ' ifstream” variabile che viene utilizzata per leggere le informazioni dal file di testo in cui creiamo il vettore dal file.
  2. Crea un vettore vuoto per memorizzare il contenuto del file e utilizza una variabile stringa vuota come flag per controllare la fine del file.
  3. Leggi la riga successiva del file fino a raggiungere la fine (sostanzialmente utilizzando il ciclo 'mentre'). Utilizza la funzione push_back() per leggere la riga successiva e inserirla nel vettore.
  4. Visualizza separatamente la linea presente nella linea per vedere gli elementi presenti nel vettore sulla console.

Implementiamo l'approccio precedente eseguendo il codice C++. Consideriamo il file “data.txt” con il seguente contenuto. Qui, il nome del vettore è “v_data”.

#include

utilizzando spazio dei nomi standard ;

principale ( )

{

// Apre il file di testo - data
file ifstream ( 'dati.txt' ) ;

// Crea un vettore - v_data di tipo - stringa


vettore < corda > v_data ;

il perizoma era ;

// Leggi la riga successiva da data.txt
// finché non arriva alla fine.


Mentre ( file >> era ) {

// Leggi la riga successiva e inseriscila nel file v_data

v_data. respingere ( era ) ;

}



// Visualizza separatamente la riga presente nella riga.

copia ( v_data. inizio ( ) , v_data. FINE ( ) , ostream_iterator < corda > ( cout , ' \N ' ) ) ;

}

Produzione:

Possiamo vedere che 'v_data' contiene cinque elementi provenienti dal file.

Conclusione

In questo lungo articolo abbiamo esplorato tutti i possibili esempi utilizzati nelle applicazioni in tempo reale relative ai vettori nel linguaggio di programmazione C++. Ogni esempio è spiegato con sintassi, parametri ed esempio con output. I commenti vengono aggiunti in ciascun codice per ottenere una chiara comprensione del codice.