Ch2_3.c
上传用户:lgb298
上传日期:2013-03-22
资源大小:1025k
文件大小:1k
- #include <stdio.h>
- #include <alloc.h>
- typedef struct node
- { int data;
- struct node *link;
- }JD;
- JD *dlbcz(JD *h,int x)
- { JD *p;
- p=h;
- while(p!=NULL && p->data!=x)
- p=p->link;
- return (p);
- }
- void dlbcr(JD *p,int x)
- { JD *s;
- s=(JD*)malloc(sizeof(JD));
- s->data=x;
- s->link=p->link;
- p->link=s;
- }
- void dlbsc(JD *p)
- { JD *q;
- if(p->link!=NULL)
- {q=p->link;
- p->link=q->link;
- free(q);
- }
- }
- JD* dlbjl(int a[],int n)
- {
- JD *s,*h;
- int i;
- h=(JD*)malloc(sizeof(JD));
- h->data=0;
- h->link=NULL;
- for(i=n;i>0;i--)
- {s=(JD*)malloc(sizeof(JD));
- s->data=a[i-1];
- s->link=h->link;
- h->link=s;
- }
- return (h);
- }
- void dlbxs(JD *h)
- { JD *p;
- p=h->link;
- while(p!=NULL)
- { printf("%d,",p->data);
- p=p->link;
- }
- printf("n");
- }
- void main()
- { int a[]={3,2,1,4,5};
- JD *head,*p;
- head=dlbjl(a,5);
- dlbxs(head);
- p=dlbcz(head,4);
- printf("%dn",p->data);
- p=head->link->link;
- dlbcr(p,9);
- dlbxs(head);
- p=head->link->link->link;
- dlbsc(p);
- dlbxs(head);
- }