Witam.Funkcja ma dodawac element w dowolne miejsce. Teraz dodaje mi do calej listy ten sam element. Np chce dodac 5 to w calej liscie jest 5 pozniej gdy ja wywolam z 10 to w calej liscie zamieni 5 na 10.. co jest zle ?
template<class T>
bool list<T>::insert(int miejsce, T const &element)
{
list<T> *tmp = new list<T>;
list<T> *nowy = new list<T>;
int licznik=0;
if(ilosc>0)
{
tmp=tail;
while(licznik!=miejsce)
{
tmp=tmp->next;
licznik++;
}
nowy->next=tmp;
nowy->prev=tmp->prev;
tmp->prev=nowy;
nowy->value=element;
if(nowy->prev==NULL)
tail=nowy;
if(nowy->next==NULL)
head=nowy;
ilosc++;
}
else
{ //dodawanie pierwszego elementu w liscie
nowy->value=element;
nowy->next=NULL;
nowy->prev=NULL;
head=tail=nowy;
ilosc++;
}
delete tmp;
delete nowy;
return true;
}