Answer:PROCEDURE DELETE (T, KEY)
[Where ‘head’ pointer has been caught in pointer ‘T’ & the value in ‘key’]
1. [Checking for deletion of first node and deleting]
if (DATA(T) == KEY)
P <-- T
T <-- LINK (T)
Call REMOVE NODE(P)
return (T).
2. [Traversing to the destination node]
I <-- T
while (DATA (LINK(T)) != key)
if (LINK (LINK(T)) == 0)
return (0)
else
T <-- LINK(T))
3. [Deleting the target node]
C <-- LINK(LINK (T)
Call REMOVE NODE (LINK(T))
LINK (T) <-- C
4. [FINISH]
return.