Пусть требуется удалить узел на который указывает С.
А) запомнить адрес узла на следующего за удаляемым.
Б) содержимое узла следующего за удаляемым перенести в удаляемый.
В) освободить память по запомненному адресу.
Пример:
Tmp:=c^.next;
C^:=c^.next^.
Dispose(tmp);
Недостаток: требуется дополнительная проверка при удаление последнего элемента.
Пример проверки:
Tmp:=c;
E^.next:=c^.next;
Dispose(c);
C:=e^.next;