Our Blog

Удаление элемента из однонаправленного линейного списка

После того, как мы рассмотрели примеры кода по добавлению нового элемента в начало, конец и середину линейного списка на основе уже объявленной ранее структуре, надо показать, как же удалять уже добавленные элементы.

Итак, Удаление элемента из однонаправленного линейного списка:

bool del (Elem* &first, int search) {
if (!first) return false;
if (first->inf1==search) {
   Elem* cur=first;
   first=first->next;
   delete [] cur->inf1;
   delete cur;
   return true;
}
Elem* cur=first;
while ((!cur->next) && (cur->next->inf1!=inf1)) {
   cur=cur->next;
}
if (!(cur->next) && (cur->next->inf1==search)) {
   Elem* q=cur->next;
   cur->next=q->next;
   delete q->inf1;
   delete [] q;
   return true;
}
return false;
}
Comments ( 0 )
    -->