顺序表的最后一个元素哪去了?
/*插入操作函数*/int insert(sequenlist *a,datatype1 x,int i)
{
int k;
if(i<1||i>a->last||a->last>=maxsize)
return 0;
else
{
for(k=a->last;k>=i;k--)
a->datas[k]=a->datas[k-1];
a->datas[i-1]=x;
a->last=a->last+1;
return 1;
}
}
这里只说把a->datas[k]=a->datas[k-1];就是说把datas[i]到datas[k-1]之间所有的元素向后移,但是datas[k]呢?
s->datas[k]并没有移到a->datas[k+1];
那不是a->datas[k-1]覆盖了a->datas[k]吗?
为什么在上机练习的时候插入了在最后还会出现s->datas[k]?