#define LIST_INIT_SIZE 100
#define LISTINCREMENT 10
typedef struct {
int *elem;
int length;
int listsize;
}SqList;
Status InitList_Sq(SqList &L)
{
L.elem=(int*)malloc(LIST_INIT_SIZE *sizeof(int));
if (!L.elem)
exit(OVERFLOW);
L.length=0;
L.listsize=LIST_INIT_SIZE;
return ok;
}
Status ListInsert_Sq(Sqlist & L,int i,int e)
{
if (il.length+1)
return ERROR;
if (L.length>=L.listsize)
{
newbase=(int *)realloc(L.elem,(L.listsize+LISTINCREMENT)*sizeof(int));
if(!newbase)
exit(OVERFLOE);
L.elem=newbase;
L.listsize+=LISTINCREMENT;
}
q=&(L.elem[i-1]);
for(p=&(L.elem[L.length-1]);p>=q;--p)
*(p+1)=*p;
*q=e;
++L.length;
return OK;
}