#include#include#defineLIST_INIT_SIZE100//初始化大小#defineLISTINCREMENT15#defineTRUE1#defineFALSE0#defineOK1#defineERROR0#defineINFEASIBLE-1//不可实行的#defineOVERFLOW-2//溢出#include//exit()typedefintElemType;//基本(元素)类型typedefstruct{ElemType*elem;intlength;intlistsize;}SqList;intInitList(SqList*L)//操作结果:构造一个空的顺序线性表{(*L)
elem=(ElemType*)malloc(LIST_INIT_SIZE*sizeof(ElemType));if(
elem)//存储分配失败exit(OVERFLOW);(*L)
length=0;//空表长度为0(*L)
listsize=LIST_INIT_SIZE;//初始存储容量returnOK;}intDestroyList(SqList*L)//初始条件:顺序线性表L已存在
操作结果:销毁顺序线性表L{free((*L)
elem);(*L)
elem=NULL;(*L)
length=0;(*L)
listsize=0;returnOK;}intClearList(SqList*L)//初始条件:顺序线性表L已存在
操作结果:将L重置为空表{(*L)
length=0;returnOK;}intListEmpty(SqListL)//初始条件:顺序线性表L已存在
操作结果:若L为空表,则返回TRUE,否则返回FALSE{if(L
length==0)returnTRUE;elsereturnFALSE;}intListLength(