После того, как мы рассмотрели примеры кода по добавлению нового элемента в начало, конец и середину линейного списка на основе уже объявленной ранее структуре, надо показать, как же удалять уже добавленные элементы.
Итак, Удаление элемента из однонаправленного линейного списка:
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 )