struct CELL {
struct CELL *prev;
struct CELL *next;
int value;
};
head.prev = head.next = &head;
x->prev = p; x->next = p->next; p->next->prev = x; p->next = x;※空リストでも同様の手順で可能
p = p->prev;としてから、上の手順を実行
ポインタpで指されるセルを削除する。 ※リストの頭を削除しないように注意
if(p == &head){
fprintf(stderr,"リストの頭は削除できない");
}
p->prev->next = p->next;
p->next->prev = p->prev;
参考文献