WItam , mam pytanie czy jest możliwość dodania elementu do listy dwukierunkowej bez podawania wskaźnika na obecny element w metodzie klasy ? Chodzi mi o to żebym poruszał się po liście metodami idz_przod(), idz_tyl() po liscie i dodaj(typ), ale bez podawania wsaźnika do akutalnego obiektu...
template <typename Typ> class Lista
{
public:
Lista *next;
Lista *prev;
Typ zmienna;
Lista()
{
next = NULL;
prev = NULL;
zmienna = '0';
}
Lista *idz_przod()
{
Lista *nowy;
if(next == NULL)
{
cout<<"Jesteś na końcu listy."<<endl;
nowy->next = this->next;
nowy->prev = this->prev;
nowy->zmienna = this->zmienna;
}
else
{
nowy = next;
}
return nowy;
}
Lista *idz_tyl()
{
Lista *nowy;
if(prev == NULL)
{
cout<<"Jesteś na poczatku listy."<<endl;
nowy->next = this->next;
nowy->prev = this->prev;
nowy->zmienna = this->zmienna;
}
else
{
nowy = prev;
}
return nowy;
}
Lista *dodaj(Typ x)
{
Lista *nowy;
if((prev == NULL) && (next = NULL))
{
nowy->next = NULL;
nowy->prev = NULL;
nowy->zmienna = x;
}
else if(prev == NULL)
{
nowy->next = this->Lista;
nowy->prev = NULL;
nowy->zmienna = x;
}
else if(next == NULL)
{
nowy->next = NULL;
nowy->prev = this->Lista;
nowy->zmienna = x;
}
else
{
nowy->next = this->next;
nowy->prev = this->Lista;
nowy->zmienna = x;
}
return nowy;
}