Vektor je razširljiv seznam, v katerem lahko shranjujemo poljubne elemente. Prav tako sam skrbi za dinamično povečevanje ali krčenje pomnilnika oziroma shrambe.
V tej lekciji bodo predstavljene sledeče metode, ki jih lahko izvajamo nad podatkovno strukturo vector:
.push_back(element); //dodajanje na konec
.erase(lokacija) //brisi element na lokaciji
.insert(lokacija,element); //vrini element na
lokacijo
.operator[index] //vrne element na specifičnem indeksu
.clear(); //pobriši vektor
.empty() //preveri, če je vektor prazen
.size() //vrni število elementov v vektorju
.begin() //vrne "lokacijo" prvega elementa v vektorju
Rešitev slednjega problema, katero bom po delih skušal razložiti:
#include < vector>
#include < string >
#include < iostream >
using namespace std;
void dodajOpravilo(vector<string>&seznamOpravil,string opravilo)
{
seznamOpravil.push_back(opravilo);
cout<<"Opravilo: "<<opravilo<<" je dodano!"<<endl;
}
void izpisOpravil(vector<string>&seznamOpravil)
{
cout<<endl<<"IZPIS OPRAVIL:"<<endl;
if(seznamOpravil.empty())
{
cout<<"Ni opravil!"<<endl;
return;
}
for(unsigned int i=0;i<seznamOpravil.size();i++)
cout<<"opravilo: "<<i<<"#) "<<seznamOpravil[i]<<endl;
}
void zbrisiOpravilo(vector<string>&seznamOpravil,int index)
{
if(seznamOpravil.empty())
return;
cout<<"Opravilo "<<seznamOpravil[index]<<" je izbrisano!"<<endl;
seznamOpravil.erase(seznamOpravil.begin()+index);
}
void vstaviOpravilo(vector<string>&seznamOpravil,string opravilo,int index)
{
cout<<"Vstavil: "<<opravilo<<" na "<<index<<"# mesto!"<<endl;
seznamOpravil.insert(seznamOpravil.begin()+index,opravilo);
}
void izprazniSeznam(vector<string>&seznamOpravil)
{
seznamOpravil.clear();
cout<<"Izpraznil seznam!"<<endl;
}
int main()
{
vector<string>seznamOpravil;
dodajOpravilo(seznamOpravil,"Prezivi leto 2013");
dodajOpravilo(seznamOpravil,"V");
dodajOpravilo(seznamOpravil,"E");
dodajOpravilo(seznamOpravil,"C");
dodajOpravilo(seznamOpravil,"O");
dodajOpravilo(seznamOpravil,"R");
izpisOpravil(seznamOpravil);
zbrisiOpravilo(seznamOpravil,0);
izpisOpravil(seznamOpravil);
dodajOpravilo(seznamOpravil,"Prezivi leto 2014");
izpisOpravil(seznamOpravil);
vstaviOpravilo(seznamOpravil,"T",3);
izpisOpravil(seznamOpravil);
izprazniSeznam(seznamOpravil);
izpisOpravil(seznamOpravil);
cin.get();
return 0;
}