C语言版本数据结构,不知道怎么编

编写一个算法,从给定的顺序表A中删除值在x~y(x<y)之间的所有元素,要求
以较高的效率来实现。

#include <stdio.h>
#include <stdlib.h>
#define OK 1
#define ERROR 0
#define OVERFLOW -1
typedef int ElemType;
typedef int Status;
typedef struct
{
    ElemType *elem;
    int length;
}SqList;
Status InitList(SqList &L)
{
    int i;
    L.elem=new ElemType[100];
    if(!L.elem) exit(OVERFLOW);
    L.length=10;

    return OK;
}
Status GetElem(SqList &L,int i,ElemType &e)
{
    if(i<1||i>L.length) return ERROR;
    e=L.elem[i];
    return OK;
}
Status DeleteList(SqList &L,int x,int y)
{
    int i,j,z;
    z=y-x+1;
    i=x;
    while (L.elem[i]!=NULL)
    {
        L.elem[i]=L.elem[i+z];
        i=i+1;
    }
    L.length=L.length-z;
return OK;

}
int main()
{
    SqList L;
    InitList(L);
    ElemType e;
    int x,y;
    int i,k,l;
    int q=1;
        for(i=0;i<10;i++)
        {
        L.elem[i]=i;
        printf("%5d",L.elem[i]);
        }
        printf("\n");
        printf("请输入x,y:");
        scanf("%d,%d",&x,&y);
        DeleteList(L,x,y);
        for(i=0;i<L.length;i++)
        
        printf("%5d",L.elem[i]);
        printf("\n");
        return 0;
}

望采纳, 谢谢!