При выполнении операции удаления также возможны четыре случая:
  1. удаление единственного элемента;
  2. удаление первого (не единственного) элемента;
  3. удаление элемента, следующего за данным;
  4. удаление последнего элемента.
После удаление единственного элемента список становится пустым, следовательно, при выполнении этой операции необходимо не только освободить память, выделенную для размещения элемента, но и занести NULL в указатель списка first.
Рис. 1.  
На рис. 1 показана последовательность операций при удалении первого (не единственного) элемента:
а)- исходное состояние;
б)-сохранение адреса следующего элемента в специальном указателе;
в)-освобождение памяти;
г)-запись в указатель списка адрес следующего элемента.
Рис. 2.  
На рис. 2 показана последовательность операций при удалении элемента, следующего за данным:
а)- исходное состояние;
б)-сохранение адреса удаляемого элемента в специальном указателе;
в)-исключение удаляемого элемента из списка;
г)-освобождение памяти; .
Удаление последнего элемента отличается только тем, что в поле "адрес следующего " заданного элемента записывается NULL.