La classe vector permette di creare un vettore dinamico e di gestire gli elementi che lo compongono.
#include<vector>
Per dichiarare un vettore che faccia uso della libreria vector si deve scrivere la seguente istruzione:
vector<int>a;
se si vuole definire la sua dimensione iniziale ad esempio 4 elementi:
vector<int>a(4);
se si vuole assegnare un valore predefinito (-1) a tutti gli elementi del vettore:
vector<int>a(4,-1);
Supponiamo ora di voler dichiarare un vettore di tipo stringa.
La sintassi sarà: vector <string> paperopoli;
Vediamo ora alcune funzioni per la gestione del vettore paperopoli:
push_back() aggiunge elementi in coda al vettore
Esempio:
paperopoli.push_back(“Paperone”);
paperopoli.push_back(“Paperino”);
paperopoli.push_back(“Nonna papera”);
pop_back() cancella elementi dalla fine del vettore
Esempio:
paperopoli.push_back();
Viene cancellato l’ultimo elemento ovvero “Nonna papera”.
clear() cancella tutti gli elementi del vettore
Esempio:
paperopoli.clear();
Il vettore paperopoli è vuoto.
size() restituisce la lunghezza del vettore
Esempio:
paperopoli.size();
swap() scambia gli elementi di due vettori
Esempio:
supponiamo che il vettore paperopoli contenga i seguenti elementi: “paperone”,”paperino”,”qui quo qua”,”paperoga” e il vettore topolinia contenga “pippo”,”pluto”,”topolino”
paperopoli={paperone”,”paperino”,”qui quo qua”,”paperoga”}
topolinia={“pippo”,”pluto”,”topolino”}
paperopoli.swap(topolinia);
il risultato che si otterrà sarà:
topolinia={paperone”,”paperino”,”qui quo qua”,”paperoga”}
paperopoli={“pippo”,”pluto”,”topolino”}
at() restituisce l’elemento del vettore per la posizione specifica
Esempio:
paperopoli={paperone”,”paperino”,”qui quo qua”,”paperoga”}
paperopoli.at(1) restituisce “paperino”
assign() si possono assegnare valori al vettore provenienti ad esempio da un vettore statico
Esempio:
int numeri[]={1,2,3,4,5,6,7,8};
vector <int>n;
n.assign(numeri,numeri+8);
for(int i=0;i<n.size();i++)
cout<<n[i]<<” “;
cout<<endl;
oppure se si vuole assegnare un certo numero di elementi(5) con valore iniziale pari a zero
n.assign(5,0); //n[0]=0 … n[4]=0