Cześć wam, mam problem z vectorem otóż stworzyłem sobie klase
class Graf
{
public:
string etykieta;
int waga;
vector <Graf*> ListaEtykiet;
Graf(string nazwa)
{
etykieta = nazwa;
}
Graf(string nazwa,int w)
{
waga =w;
etykieta = nazwa;
}
};
później zadeklarowałem obiekty
vector< Graf*> Wierzcholek;
vector< Graf*> Wierzcholek2;
i zrobiłem sobie funkcje, która tworzy listę wszystkich krawędzi w grafie
void wrzuc( /*Graf *w, vector <Graf*> Tab*/)
{
Wierzcholek2=Wierzcholek;
Graf *wierzch;
string w1, w2;
int i,j,k,l;
for(i = 0;i<Wierzcholek2.size();i++)
{
for(j = 0;j<Wierzcholek2[i]->ListaEtykiet.size();j++)
{
for(k=i+1;k<Wierzcholek2.size();k++)
{
for(l=0 ;l<Wierzcholek2[k]->ListaEtykiet.size();l++)
{
if (strcmp(Wierzcholek2[i]->etykieta.c_str(),Wierzcholek2[k]->ListaEtykiet[l]->etykieta.c_str())==0
&&Wierzcholek2[i]->ListaEtykiet[j]->waga==Wierzcholek2[k]->ListaEtykiet[l]->waga)
{
wierzch = new Graf(Wierzcholek2[i]->etykieta+" "+Wierzcholek2[i]->ListaEtykiet[j]->etykieta+"*",Wierzcholek2[k]->ListaEtykiet[l]->waga);
kolejka.push_back(wierzch);
Wierzcholek2[k]->ListaEtykiet.erase(Wierzcholek2[k]->ListaEtykiet.begin()+l);
l--;
}
}//for l
}//for k
}//for j
} //for i
}
problem polega na tym, że jak usuwam sobie coś z Wierzcholek2 program usuwa to samo z Wierzcholek.(a ja potrzebuje mieć oryginał nie ruszony)
Ktoś może wie jak zrobić kopie Wierzcholek z ktorej jak coś usunę to orginał zostanie nie naruszony?