Witam niedługo będę miał projekt związany z listą jednokierunkową,więc chcę ją zrozumieć jak najlepiej.Pisze teraz funkcje do usuwania dowolnego elementu i lekko się zatrzymałem,wiec napisałem funkcje do usuwania pierwszego i ostatniego elementu wyglądają tak:
Czy są poprawne?Jakis pomysl jak napisac na usuwanie elementu podanego przez uzytkownika?Glownie chodzi mi o sytuacje nietypowe czyli lista jest pusta, ostatni element, pierwszy element,bo mniej więcej wiem jak usunąć element gdzieś ze środka,ale nie wiem ile specjalnych sytuacji tu może wystąpić i jak je ogarnąć.
void usfirst(lista*&head)
{
if (head == NULL)
{
cout << "LIsta pusta";
}
lista*temp;
temp = head->next;
head = temp;
}
void usost(lista*&head)
{
if (head == NULL)
{
cout << "lista pusta";
}
lista*iterator;
lista*prev = NULL;
iterator = head;
while (iterator->next != NULL)
{
prev = iterator;
iterator = iterator->next;
}
delete iterator;
prev->next = NULL;
}