Professional Documents
Culture Documents
Pair<TipKljuca,TipVrijednosti>* niz;
int kapacitet;
int brojEl;
TipVrijednosti pom;
void promijeniKapacitet() {
kapacitet*=2;
Pair<TipKljuca,TipVrijednosti>* tmp = new
Pair<TipKljuca,TipVrijednosti>[kapacitet];
delete[] niz;
niz=tmp;
public:
NizMapa(): kapacitet(1000), brojEl(0), pom(TipVrijednosti()) {
niz = new Pair<TipKljuca,TipVrijednosti>[1000];
}
~NizMapa() {
delete[] niz;
}
NizMapa(const NizMapa<TipKljuca,TipVrijednosti>& mapa): niz(new
Pair<TipKljuca,TipVrijednosti>[1000]) {
kapacitet=mapa.kapacitet;
brojEl=mapa.brojEl;
delete[] niz;
kapacitet=mapa.kapacitet;
brojEl=mapa.brojEl;
return *this;
niz[brojEl].kljuc = k;
niz[brojEl].vrijednost = TipVrijednosti();
brojEl++;
return niz[brojEl-1].vrijednost;
}
return pom;
}
};
Cvor* pocetak;
int duzina;
TipVrijednosti pomocni;
if(p->lijevo==0) m=p->desno;
else {
if(p->desno==0) m=p->lijevo;
else {
pm=p;
m=p->lijevo;
Cvor* tmp=m->desno;
while(tmp!=0) {
pm=m;
m=tmp;
tmp=m->desno;
}
if(pm!=p) {
pm->desno=m->lijevo;
m->lijevo=p->lijevo;
}
m->desno=p->desno;
}
if(prvi==0) pocetak=m;
else {
if(p==prvi->lijevo) prvi->lijevo=m;
else prvi->desno=m;
}
delete p;
return true;
~BinStabloMapa() {
brisi(pocetak);
}
BinStabloMapa<TipKljuca,TipVrijednosti>& operator=(const
BinStabloMapa<TipKljuca,TipVrijednosti>& mapa) {
if(this==&mapa) return *this;
brisi(pocetak);
pocetak=0;
kopija(pocetak, mapa.pocetak,0);
duzina=mapa.duzina;
return *this;
}
void promijeniKapacitet() {
unsigned int kap=kapacitet;
kapacitet*=2;
Pair<TipKljuca,TipVrijednosti>* tmp = new
Pair<TipKljuca,TipVrijednosti>[kapacitet];
delete[] niz;
niz=tmp;
}
public:
HashMapa(): kapacitet(5000), brojEl(0), pom(TipVrijednosti()) {
niz=new Pair<TipKljuca, TipVrijednosti>[kapacitet];
fun=nullptr;
definisana=0;
~HashMapa() {
delete[] niz;
brojEl=0;
fun=nullptr;
}
fun=mapa.fun;
for(int i=0; i<kapacitet; i++) {
niz[i].kljuc=mapa.niz[i].kljuc;
niz[i].vrijednost=mapa.niz[i].vrijednost;
}
delete[] niz;
definisana=mapa.definisana;
kapacitet=mapa.kapacitet;
brojEl=mapa.brojEl;
pom=TipVrijednosti();
fun=mapa.fun;
niz=new Pair<TipKljuca,TipVrijednosti>[kapacitet];
return *this;
}
niz=new Pair<TipKljuca,TipVrijednosti>[kapacitet];
for(int i=0; i<kapacitet; i++) {
niz[i].kljuc=TipKljuca();
niz[i].vrijednost=TipVrijednosti();
}
if(i==kapacitet-1) i=0;
if(niz[i].kljuc==k) {
niz[i].kljuc=-1;
niz[i].vrijednost=TipVrijednosti();
brojEl--;
return;
}
}
}
return ;
}
niz[i].kljuc=k;
brojEl++;
return niz[i].vrijednost;
}
return pom;
}
};