在长度为num的顺序表List,删除第i(1≤i≤len+1)个数据元素,需将第i至第len+1个数据元素的存储位置(num-i+1)依次前移,并使顺序表的长度减1,返回TRUE值,若i<1或i>num+1,则无法删除,返回FALSE值,如下图所示。
int DelList(Sqlist *L,int i,int *e) //这句不懂,是定义啥玩意啊
{ /*在线性表V中删除第i 个元素,用e接收返回值*/
int k;
if((i<1)||(i>L->len)) //还有L->len,是什么意思啊????
{printf("Locate Error!\n");return 0;}
*e=L->elem[i-1];
for(k=i;k<L->len;k++)
L->elem[k-1]=L->elem[k];/*被删除元素之后的元素左移*/
L->len- -; /*表长减1*/
return 1;
}