[求助]线性表的插入问题
在顺序表中删除第 i个数据元素。int SqDelete(SqList *L,int i,elemtype *p)
{
int j,n;
n=(*L).len;
if(i<1||i>n)
{printf("Error!"); return(0);}
(*p)=(*L).elem[i-1];
for(j=i-1;j<n-1;j++)
(*L).elem[j]=(*L).elem[j+1];
(*L).len--;
return(1);
}
各位大侠,第7行中要删除第i个元素,但是用下标表示是(*L).elem[i-1]。因为第 i个元素被删除了,所以第i+1个元素到第n个元素依次向前移一个位置。
但是第8行中,(i-1)是指的是下标下的(i-i)还是原来的什么,为什么是j=i-1.这一点我不明白。还请大伙给个答案。谢谢了。