顺序表插入运算
#define OK 1
#define ERROR 0
int InsList(SeqList * L, int i,ElemType e) //ElemType是伪代码,表示根据实际情况填写具体的数据类型
{
int k;
if((i < 1) || (i>L->last+2)) {
printf("插入位置i值不合法");
return(ERROR);
}
if(L->last>=MAXSIZE-1){
printf("表已满,无法插入");
return(ERROR);
}
for(k = L->last;k>=i-1;k--){
L->elem[k+1] = L->elem[k];
}
L->elem[i-1]=e;
L->last++;
return(OK);
}
这里if((i < 1) || (i>L->last+2)) 是表示它是指元素排列序号从1到last+1吗
那为什么if(L->last>=MAXSIZE-1)不能等于MAXSIZE-1,是因为这里的last是指数组的索引号,从0开始到last了吗
#define OK 1
#define ERROR 0
int InsList(SeqList * L, int i,ElemType e) //ElemType是伪代码,表示根据实际情况填写具体的数据类型
{
int k;
if((i < 1) || (i>L->last+2)) {
printf("插入位置i值不合法");
return(ERROR);
}
if(L->last>=MAXSIZE-1){
printf("表已满,无法插入");
return(ERROR);
}
for(k = L->last;k>=i-1;k--){
L->elem[k+1] = L->elem[k];
}
L->elem[i-1]=e;
L->last++;
return(OK);
}
这里if((i < 1) || (i>L->last+2)) 是表示它是指元素排列序号从1到last+1吗
那为什么if(L->last>=MAXSIZE-1)不能等于MAXSIZE-1,是因为这里的last是指数组的索引号,从0开始到last了吗