当做自己的复习记录一下下。
一、以-1为结束标志
int create_sq(Sqlist *L)
{
int i=0;
ElemType n;
while(scanf("%d",&n)&&n!=-1)
{
L->slist[i]=n;
i++;
L->length++;
if(L->length>=L->listsize)
{
L->slist=(ElemType*)realloc(L->slist,(L->listsize+INCREM)*sizeof(ElemType));
if(!L->slist) return ERROR;
L->listsize+=INCREM;
}
}
return OK;
}
二、输入整数n,建立有n个数的顺序表
int create_sq(Sqlist *L,int n)
{
for(int i=0;i<n;i++)
{
scanf("%d",&L->slist[i]);
L->length++;
if(L->length>=L->listsize)
{
L->slist=(ElemType*)realloc(L->slist,(L->listsize+INCREM)*sizeof(ElemType));
if(!L->slist) return ERROR;
L->listsize+=INCREM;
}
}
return OK;
}
两种方法都需要注意考虑空间是否合理