Vettore dentro C++ Libreria di modelli standard (STL) con esempio
โก Riepilogo intelligente
Vettore dentro C++ รจ un array dinamico della Standard Template Library che si ridimensiona automaticamente man mano che vengono aggiunti o rimossi elementi, memorizzando gli elementi in memoria contigua in modo che i programmatori possano accedervi e attraversarli utilizzando gli iteratori.

Che cos'รจ un C++ Vettore?
A C++ Vector รจ un array dinamico in grado di ridimensionarsi automaticamente. Il ridimensionamento avviene dopo che un elemento รจ stato aggiunto o eliminato dal vettore. L'archiviazione รจ gestita automaticamente dal contenitore. Gli elementi di un vettore sono archiviati in un archivio contiguo. Ciรฒ consente C++ programmatori di accedere e attraversare gli elementi vettoriali utilizzando iteratori.
L'inserimento di nuovi dati in un vettore avviene alla sua fine. Questa operazione richiede un tempo differenziale. La rimozione di un elemento da un vettore richiede un tempo costante. Il motivo รจ che non รจ necessario ridimensionare il vettore. L'inserimento o la cancellazione di un elemento all'inizio del vettore richiede un tempo lineare.
Prima di scrivere codice con i vettori, รจ utile sapere quando rappresentano il contenitore piรน appropriato.
Quando utilizzare un vettore?
A C++ il vettore dovrebbe essere utilizzato nelle seguenti circostanze:
- Quando si ha a che fare con elementi di dati che cambiano costantemente.
- Se la dimensione dei dati non รจ nota prima di iniziare, il vettore non richiederร di impostare la dimensione massima del contenitore.
Come inizializzare i vettori in C++
La sintassi dei vettori in C++ รจ:
vector <data-type> name (items)
Come mostrato sopra, iniziamo con la parola chiave vector.
- Migliori tipo di dati รจ il tipo di dati degli elementi da memorizzare nel vettore.
- Migliori Nome รจ il nome del vettore o degli elementi dati.
- Migliori elementi indica il numero di elementi per i dati vettoriali. Questo parametro รจ facoltativo.
Una volta creato un vettore, gli iteratori offrono un modo simile a un puntatore per spostarsi tra i suoi elementi.
Iteratori
Lo scopo degli iteratori รจ quello di aiutarci ad accedere agli elementi memorizzati in un vettore. ร un oggetto che funziona come un puntatore. Ecco gli iteratori comuni supportati da C++ vettori:
- vettore::inizio(): fornisce un iteratore che punta al primo elemento del vettore.
- vettore::fine(): fornisce un iteratore che punta all'elemento oltre la fine del vettore.
- vettore::cbegin(): ร equivalente a vector::begin(), ma non ha la capacitร di modificare gli elementi.
- vettore::cend(): ร equivalente a vector::end() ma non puรฒ modificare gli elementi del vettore.
L'esempio seguente popola un vettore e poi lo attraversa utilizzando iteratori sia mutabili che costanti.
esempio 1
#include <iostream> #include <vector> using namespace std; int main() { vector<int> nums; for (int a = 1; a <= 5; a++) nums.push_back(a); cout << "Output from begin and end: "; for (auto a = nums.begin(); a != nums.end(); ++a) cout << *a << " "; cout << "\nOutput from cbegin and cend: "; for (auto a = nums.cbegin(); a != nums.cend(); ++a) cout << *a << " "; return 0; }
Produzione:
Ecco uno screenshot del codice:
Code Spiegazione:
- Includi il file di intestazione iostream nel nostro codice. Ci permetterร di leggere e scrivere sulla console.
- Includi il file di intestazione vettoriale nel nostro codice. Ci permetterร di lavorare con i vettori in C++.
- Includere lo spazio dei nomi std in modo da utilizzare le sue classi e funzioni senza chiamarlo.
- Chiama la funzione main() all'interno della quale va aggiunta la logica del programma.
- Il { segna l'inizio del corpo della funzione main().
- Dichiara un vettore denominato nums per memorizzare un insieme di numeri interi.
- Creiamo un ciclo for per iterare sul vettore. La variabile ci aiuterร a iterare sugli elementi del vettore, dal primo al quinto.
- Spingi gli elementi nel numero del vettore dal retro. Per ogni iterazione, verrร aggiunto il valore corrente della variabile a al vettore, che รจ compreso tra 1 e 5.
- Stampa del testo sulla console.
- Utilizzare una variabile iteratore a per scorrere gli elementi del vettore num dall'inizio all'elemento oltre la fine. Nota che stiamo utilizzando gli iteratori vector::begin() e vector::end().
- Stampa i valori a cui punta la variabile iteratore a sulla console per ogni iterazione.
- Stampa del testo sulla console. \n รจ un carattere di nuova riga, che sposta il cursore sulla nuova riga per stampare da lรฌ.
- Utilizziamo una variabile iteratore per scorrere gli elementi del vettore nums dall'inizio fino all'elemento successivo alla fine. Nota che stiamo usando gli iteratori vector::cbegin() e vector::cend().
- Stampa i valori a cui punta la variabile iteratore a sulla console per ogni iterazione.
- La funzione principale dovrebbe restituire un valore se il programma viene eseguito correttamente.
- Fine del corpo della funzione main().
modificatori
I modificatori vengono utilizzati per modificare il significato del tipo di dati specificato. Ecco i modificatori comuni in C++:
- vettore::push_back(): Questo modificatore spinge gli elementi da dietro.
- vettore::inserisci(): Per inserire nuovi elementi in un vettore in una posizione specificata.
- vettore::pop_back(): Questo modificatore rimuove gli elementi vettoriali dal retro.
- vettore::cancella(): Viene utilizzato per rimuovere una serie di elementi dalla posizione specificata.
- vettore::clear(): Rimuove tutti gli elementi vettoriali.
L'esempio seguente applica questi modificatori in sequenza per vedere come cambia un vettore.
esempio 2
#include <iostream> #include <vector> using namespace std; int main() { vector<int> nums; nums.assign(5, 1); cout << "Vector contents: "; for (int a = 0; a < nums.size(); a++) cout << nums[a] << " "; nums.push_back(2); int n = nums.size(); cout << "\nLast element: " << nums[n - 1]; nums.pop_back(); cout << "\nVector contents: "; for (int a = 0; a < nums.size(); a++) cout << nums[a] << " "; nums.insert(nums.begin(), 7); cout << "\nFirst element: " << nums[0]; nums.clear(); cout << "\nSize after clear(): " << nums.size(); }
Produzione:
Ecco uno screenshot del codice:
Code Spiegazione:
- Includi il file di intestazione iostream nel nostro codice per utilizzare le sue funzioni.
- Includi il file di intestazione vettoriale nel nostro codice per utilizzare le sue funzioni.
- Includere lo spazio dei nomi std per utilizzare le sue classi senza chiamarlo.
- Chiama la funzione main(). La logica del programma dovrebbe essere aggiunta all'interno del suo corpo.
- L'inizio del corpo della funzione main().
- Dichiara un vettore denominato nums per memorizzare alcuni valori interi.
- Memorizza 5 elementi nel vettore num. Ciascuno con un valore di 1.
- Stampa del testo sulla console.
- Utilizzare una variabile iteratore a per scorrere gli elementi del vettore nums.
- Stampa i valori dei numeri vettoriali sulla console per ogni iterazione.
- Aggiungi il valore 2 alla fine del vettore num.
- Dichiara una variabile intera n per memorizzare la dimensione dei numeri del vettore.
- Stampa l'ultimo valore dei numeri vettoriali insieme ad altro testo. Dovrebbe restituire un 2.
- Rimuovi l'ultimo elemento dal vettore num. I 2 verranno rimossi.
- Stampa il testo sulla console. \n sposta il cursore sulla nuova riga per stampare il testo lรฌ.
- Utilizzare una variabile iteratore a per scorrere gli elementi del vettore nums.
- Stampa i valori dei numeri vettoriali sulla console per ogni iterazione.
- Inserisci il valore 7 all'inizio dei numeri del vettore.
- Stampa il primo valore dei numeri vettoriali insieme ad altro testo. Dovrebbe restituire 7.
- Elimina tutti gli elementi dai numeri del vettore.
- Stampa la dimensione del numero del vettore insieme ad altro testo dopo aver cancellato tutti i contenuti. Dovrebbe restituire 0.
- Fine del corpo della funzione main().
Ultra-Grande
Utilizza il seguente funzioni per determinare la capacitร di un vettore:
- Misurare() โ Restituisce il numero di elementi in un vettore.
- Dimensione_massima() โ Restituisce il numero massimo di elementi che un vettore puรฒ memorizzare.
- Capacitร () โ Restituisce la quantitร di spazio di archiviazione allocato a un vettore.
- Ridimensiona() โ Ridimensiona il contenitore per contenere n elementi. Se la dimensione corrente del vettore รจ maggiore di n, gli elementi in fondo al vettore verranno rimossi. Se la dimensione corrente del vettore รจ minore di n, gli elementi extra verranno aggiunti in fondo al vettore.
- Vuoto() โ restituisce true se il vettore รจ vuoto. Altrimenti, restituisce false.
Quest'ultimo esempio riporta e regola la memorizzazione di un vettore utilizzando le funzioni di capacitร descritte in precedenza.
esempio 3
#include <iostream> #include <vector> using namespace std; int main() { vector<int> vector1; for (int x = 1; x <= 10; x++) vector1.push_back(x); cout << "Vector size: " << vector1.size()<< endl; cout << "Vector capacity: " << vector1.capacity() << endl; cout << "Maximum size of vector: " << vector1.max_size()<< endl; vector1.resize(5); cout << "Vector size after resizing: " << vector1.size() << endl; if (vector1.empty() == false) cout << "Vector is not empty"<<endl; else cout << "Vector is empty"<<endl; return 0; }
Produzione:
Ecco uno screenshot del codice:
Code Spiegazione:
- Includi il file di intestazione iostream nel nostro codice per utilizzare la sua funzione.
- Includi il file di intestazione vettoriale nel nostro codice per utilizzare le sue funzioni.
- Includi lo spazio dei nomi std nel nostro codice per utilizzare le sue classi senza chiamarlo.
- Chiama la funzione main(). La logica del programma dovrebbe essere aggiunta al corpo di questa funzione.
- Crea un vettore denominato vettore1 per memorizzare i numeri interi.
- Utilizza un ciclo for per creare la variabile x con valori da 1 a 10.
- Inserisci i valori della variabile x nel vettore.
- Stampa la dimensione del vettore insieme ad altro testo sulla console.
- Stampa la capacitร del vettore insieme ad altro testo sulla console.
- Stampa il numero massimo di elementi che il vettore puรฒ contenere insieme ad altro testo sulla console.
- Ridimensiona il vettore per contenere solo 5 elementi.
- Stampa la nuova dimensione del vettore insieme ad altro testo.
- Controlla se il vettore non รจ vuoto.
- Stampa il testo sulla console se il vettore non รจ vuoto.
- Utilizzare un'istruzione else per indicare cosa fare se il vettore รจ vuoto.
- Testo da stampare sulla console se il vettore รจ vuoto.
- Il programma deve restituire valore in caso di completamento positivo.
- Fine del corpo della funzione main().





