gt OBILJEŽJA Vektor možemo zamisliti kao malo bolje polje Nalazi se u biblioteci vector Vektor je vrlo jednostavan kontejner klasa koja služi za pohranjivanje podataka Vektor ID: 809273
Download The PPT/PDF document "VEKTORI # include < vector" is the property of its rightful owner. Permission is granted to download and print the materials on this web site for personal, non-commercial use only, and to display it on your personal computer provided you do not modify the materials and that you retain all copyright notices contained in the materials. By downloading content from our website, you accept the terms of this agreement.
Slide1
VEKTORI
#
include
<
vector
>
Slide2OBILJEŽJA
Vektor možemo zamisliti kao malo bolje polje. Nalazi se u biblioteci
vector
. Vektor je vrlo jednostavan kontejner (klasa
koja služi
za pohranjivanje podataka
).
Vektor
zamjenjuje
obično polje. Kad mu je potreban dodatan prostor u memoriji, vektor se sam
poveća tako
što se cijeli prekopira na novi dvostruko veći prostor
.
broj elemenata
vektora je
dinamičko svojstvo
koje se
može mijenjati
tokom života vektorske varijable (u toku svog života
može povećavati
i smanjivati broj svojih
elemenata dok
nizovi od trenutka
deklaracije
do kraja postojanja zauzimaju uvijek istu količinu memorije.
broj elemenata pri deklaraciji
vektora navodi se u
običnim
, a ne u uglastim zagradama, čime je istaknuta razlika
između zadavanja
broja elemenata i navođenja indeksa za pristup elementima.
Slide3svi
elementi vektora automatski se inicijaliziraju na
nulu za
sve brojčane
tipove,
a po želji možemo pri deklaraciji zadati i drugu vrijednost koja će biti iskorištena za inicijalizaciju.
kod
vektora nije moguće zadati inicijalnu listu
, dok je kod običnih nizova moguće zadati inicijalnu
listu
moguće je
dodavanja novih elemenata na kraj vektora
, pri čemu se broj elemenata vektora pri takvom dodavanju povećava
za jedan.
nizovi se ne mogu vraćati kao rezultati iz funkcija;
vektori se mogu vraćati kao rezultati iz funkcije
.
kada koristimo nizove, nije jednostavno umetnuti novi element između dva proizvoljna elementa niza, niti izbrisati element
koji se
nalazi na proizvoljnoj poziciji u nizu. Naime, umetanje novog elementa između dva elementa zahtijeva pomicanje
svih elemenata
niza koji slijede iza
novoumetnutog
elementa za jedno mjesto naviše, dok brisanje elementa na proizvoljnoj poziciji
u
nizu zahtijeva pomicanje svih elemenata koji slijede iza elementa koji se briše za jedno mjesto naniže. U slučaju vektora,
za umetanje
odnosno brisanje elemenata
na proizvoljnoj poziciji na raspolaganju su funkcije
Slide4Deklaracija vektora:
vector
<
tip
>
ime_vektora
;
Primjeri deklaracija:vector<int>prvi;vector<string>drugi;vector<double>treci;
Slide5Kopiranje vektora (operator =)
Slide6Funkcije za rad s vektorima:
Slide7Funkcije za rad s vektorima:
Slide8v.insert
(
v.begin
()+broj,nova vrijednost);
umeće novu vrijednost ISPRED zadanog indeksa
v.erase
(
v.begin());briše element na zadanom indeksubiblioteka <algorithm>count(v.begin(),v.end(),vrijednost)prebrojava koliko se puta vrijednost nalazi u cijelom vektoru vcount(v.begin(),
v.end
(),vrijednost)
prebrojava
koliko se puta vrijednost nalazi u cijelom vektoru
v
sort
(
v.begin
(),
v.end
())
sortira vektor
v
Slide9Primjeri:
vector
<
int
>
prvi(10,5);
vektor ima 10 elemenata i svaki je 5
cout<<prvi[3] ; ispisuje 3. element vektoracout<<prvi.at(3) ; ispisuje 3. element vektora
Slide10push_back
unos brojeva u vektor
Slide11Reference front
i
back
Ispis će biti
62
Slide12pop_back briše posljednji element vektora
Slide13clear briše sve elemente vektora
Slide14Funkcije (biblioteka
algorithm
)
count
min
max min_element max_element reverse sort binary_search generate next_permutation prev_permutation