lista jednokierunkowa usuwanie ostatniego elementu problem

0

witam
mam problem jak w temacie prosze o pomoc
usuwa element i pozniej wariuje jak chce ja wyswietlic

struct kolejka
{
int dane;
kolejka *ref;

};

kolejka *pointer; //wskaznik na ostatni element listy
kolejka *tmp;
kolejka *first; //wskaznik do pierwszego elementu kolejki
kolejka *poprzedni;

void dodaj_element(int dodaj)
{
tmp=new kolejka;

tmp->dane = dodaj;
tmp->ref = NULL;

if (pointer == NULL)
first = tmp;
else
pointer->ref = tmp;

pointer=tmp;
}

void usun_element()
{
if (pointer == NULL) cout<<"lista pusta"<<endl;
else
{
tmp=pointer;
poprzedni = NULL;
while(tmp->ref)
{
poprzedni = tmp;
tmp=tmp->ref;
}
if (poprzedni == NULL)
{
delete pointer;
pointer = NULL;
}
else
{
poprzedni->ref = NULL;
delete tmp;
}
}

}

1
void usun_element()
 {
         if (pointer == NULL) cout<<"lista pusta"<<endl;
         else
         {                
                 tmp=pointer;
                 poprzedni = NULL;
                 while(tmp->ref)

tmp inicujesz elementem pointer ktory na nic nie wskazuje
tmp = first powinno rozwiazac problem

0

wielkie dzieki juz dziala :)

0

usuwanie juz dziala, tylko jak usune elementy to pozniej nie chca sie dodawac do kolejki nowe, moze ktos pomóc?

0

juz nieaktualne rozwiazałem problem

1 użytkowników online, w tym zalogowanych: 0, gości: 1