首页 > 代码库 > 线性表—顺序存储结构 ListDelet(*L,i,*e)

线性表—顺序存储结构 ListDelet(*L,i,*e)

Status ListDelet(SqList L,int i,int *e)
{
    int k;
    if(L.length==0)
        return ERROR;
    if(i<1||i>L.length)
        return ERROR;
    *e=L.data[i-1];
    for(k=i-1;k<L.length-1;k++)
    {
        L.data[k]=L.data[k+1];
    }
    L.length--;
    for(k=0;k<L.length;k++)
    {
        printf("%d ",L.data[k]);
    }
    putchar(\n);
    printf("%d\n",*e);
    return OK;
}

这是在自定义函数中输出的删除的那个元素,在主函数中输出的还是原来的e不是删的那个元素,指针作为函数形参还是不太理解,下面是在主函数中输出e,可我是想在主函数中输出删除了的那个元素。。

int main()
{
    int e;
    printf("%d %d\n",ListDelet(l,6,&e),e);
    return 0;
}

 

线性表—顺序存储结构 ListDelet(*L,i,*e)