资源描述:
《带头结点的单链表》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、#defineERROR0#defineOK1#defineNULL0#include"stdio.h"typedefstructLNode{intdata;structLNode*next;}LNode,*LinkList;LinkListCreateList_L(LinkListL,intn){inti;LinkListp;L=(LinkList)malloc(sizeof(LNode));L->next=NULL;for(i=n;i>0;--i){p=(LinkList)malloc(sizeof(LNode));scanf("%d"
2、,&(p->data));p->next=L->next;L->next=p;}returnL;}GetElem_L(LinkListL,inti){inte,j;LinkListp;p=L->next;j=1;while(p&&jnext;++j;}if(!p
3、
4、j>i)returnERROR;e=p->data;returne;}ListInsert_L(LinkListL,inti,inte){LinkListp,s;intj;p=L;j=0;while(p&&jnext;++j;}if(!p
5、
6、
7、j>i-1)returnERROR;s=(LinkList)malloc(sizeof(LNode));s->data=e;s->next=p->next;p->next=s;returnOK;}ListDelete_L(LinkListL,inti){LinkListp,q;intj;p=L;j=0;while(p->next&&jnext;++j;}if(!(p->next)
8、
9、j>i-1)returnERROR;q=p->next;p->next=q->next;free(q);returnOK;}main()
10、{LinkListP,Q,R,S;inti,e;P=(LinkList)malloc(sizeof(LNode));P->next=NULL;P=CreateList_L(P,10);Q=P;R=P;S=P;for(i=1;i<=10;i++){P=P->next;printf("%d",P->data);}getch();printf("pleaseinputi:");scanf("%d",&i);e=GetElem_L(Q,i);printf("e=%d,e");getch();printf("pleaseinputthei
11、nsertnum:");scanf("%d",&e);printf("pleaseinputi:");scanf("%d",&i);ListInsert_L(R,i,e);for(i=1;i<=11;i++){R=R->next;printf("%d",R->data);}getch();printf("pleaseinputi:");scanf("%d",&i);ListDelete_L(S,i);for(i=1;i<=10;i++){S=S->next;printf("%d",S->data);}getch();}