przykład dla sznura 6 2 5 2 6 1 4 3 2 6 6 5 ->2 5 1 4 3 5
2 4 4 4 3 2 ->3 2
2 1 2 1 2 1 2 -> m pusty
O to mój kod
void sznur::usun()
{
Node *zaszuk = nullptr;
Node *szuk = pocz;
while(szuk!=nullptr )
{
int war=szuk->dane;
Node*koniec=szuk;
while(koniec->nast!=nullptr && koniec->nast->dane>=war)
{
koniec=koniec->nast;
war=koniec->dane;
}
if(koniec!=szuk)
{
if(zaszuk==nullptr)
{
pocz=koniec->nast;
}
else
{
zaszuk->nast=koniec->nast;
}
Node*killer=szuk;
while(killer!=koniec->nast)
{
Node*nast=killer->nast;
delete killer;
killer=nast;
ileJest--;
}
szuk=koniec->nast;
}
else
{
zaszuk=szuk;
szuk=szuk->nast;
}
}
}
zacząłem to wczoraj i dzisiaj robić i jest tylko problem dla tego sznura 6 2 5 2 6 1 4 3 2 6 6 5
i ostatniego2 1 2 1 2 1 2 nie dokońca usuwa zostawia 2 na końcu pytanie moje brzmi czy dobrze zrozumiałem treść i po drugie dlaczego przy Node*nast=killer->nast; wywala błąd proszę o wytłumaczenie