1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47
| #include<stdio.h> #include<stdlib.h> #define LEN sizeof(struct node) typedef int datatype; typedef struct node { datatype data; struct node *next,*prior; }dlinklist; dlinklist *head;
dlinklist *dinsert_before(dlinklist *head,dlinklist *p,int x) { dlinklist *s; s=(struct node*)malloc(LEN); s->data=x; s->next=p; s->prior=p->prior; p->prior->next=s; p->prior=s; return(head); } dlinklist *dinsert_after(dlinklist *head,dlinklist *p,int x) { dlinklist *s; s=(struct node*)malloc(LEN); s->data=x; s->next=p->next; p->next->prior=s; s->prior=p; p->next=s; } dlinklist *delete_nodep(dlinklist *head,dlinklist *p) { if(p!=0) { p->prior->next=p->next; p->next->prior=p->prior; free(p); return (head); } else return 0; }
|