Двусвязный линейный список задан указателем на голову head и указателем на хвост tail. Какой оператор необходимо вставить вместо [???], чтобы приведенный ниже отрывок программы правильно удалял из этого списка все элементы со значением 0?{type ssylka = ^spisok; spisok = record znach: integer; next,prev: ssylka end;var head,p,q: ssylka;}while (head<>nil)and(head^.znach =0)do begin p:= head; head:= head^.next; dispose(p); end;if head<>nil then begin head^.prev:= nil; p:= head; while p^.next <> nil do if p^.next^.znach = 0 then begin q:= p^.next; p^.next:= q^.next; if p <> tail then [???]; dispose(q); end else p:= p^.next; end else tail:= nil;
(Отметьте один правильный вариант ответа.)
Варианты ответа
p^.next^.prev:= p(Верный ответ)
p^.prev:= p
p^.prev ^.next:= p
p^.next:= p