浙大PTA线性表元素的区间删除

在这里插入图片描述
题目要求:若Data数组中存在元素X满足minD< X < maxD,则把这个元素删除
思路:新建一个下标,指向处理后的数组当前位置,若符合要求,则把原数组的元素放进来,并且下标后移一位,否则不放进来。遍历完原数组之后,应当把L->Last修改成j-1,因为前面的j++,已经为下一个处理做准备了。

List Delete( List L, ElementType minD, ElementType maxD )
{
    Position i=0,j=0;
    for(i=0,j=0; i<=L->Last; i++)
    {
        if(minD < L->Data[i] && L->Data[i] < maxD){}
        else{
            L->Data[j]=L->Data[i];
            j++;
        }
    }
    L->Last = j - 1;
    return L; 
}