#include<iostream>#include<string>#include<>usingnamespacestd;/*状态码*/#RUE1#defineFALSE0#defineOK1#defineERROR0#defineINFEASIBLE-1#defineOVERFLOW-2typedefintStatus;typedefstructStudent{charname[20];charnum[20];floatscore;}ElemType;typedefstructLnode{ElemTypedate;structLnode*next;}LNode,*LinkList;StatusInitList_L(LinkList&L){L=(LinkList)malloc(sizeof(LNode));if(!L)exit(OVERFLOW);L->next=NULL;returnOK;}StatusInsertList_L(LinkList&L,inti,ElemTypee){LinkListp,s;intj=0;p=L;while(p&&j<i-1){p=p->next;++j;}if(!p||j>i-1)returnERROR;s=(LinkList)malloc(sizeof(LNode));strcpy(s->,);strcpy(s->,);s->=;s->next=p->next;p->next=s;returnOK;}StatusListDelete(LinkList&L,inti,ElemType&e){LinkListp,q;p=L;intj=0;while(p->next&&j<i-1){p=p->next;++j;}if(!p->next&&j>i-1)returnERROR;q=p->next;p->next=q->next;e=q->date;free(q);returnOK;}intListLength(LinkListL){inti=0;LinkListp;p=L->next;while(p){i++;p=p->next;}returni;}StatusListEmpty(LinkListL){if(L->next==NULL)returnTRUE;elsereturnFALSE;}StatusListClear(LinkList&L){free(L->next);L->next=NULL;returnOK;}StatusListDestroy(LinkList&L){free(L);returnOK;}StatusListGetElem(LinkListL,inti,ElemType&e){LinkListp;intj=1;p=L->next;while(p&&j<i){p=p->next;j++;}if(!p||j>i)returnERROR;e=p->date;returnOK;}pare(ElemTypee1,ElemTypee){if(strcmp(,)==0&&strcmp(,)==0&&(==))return1;else
线性表顺序结构实现实例 来自淘豆网www.taodocs.com转载请标明出处.