求助各位大神帮我修改程序。数据结构删除线性表中等于x的元素
#include<iostream.h>#include<stdlib.h>
#define MaxSize 100
typedef int ElemType;
typedef struct
{
ElemType data[MaxSize];
int length;
}SqList;
void InitList(SqList *&L)
{ L=(SqList *)malloc(sizeof(SqList));
L->length=0;
}
void GreateList(SqList *&L,int n,ElemType a[])
{
int i=0,k=0;
L=(SqList *)malloc(sizeof(SqList));
while(i<n)
{L->data=a[i];
k++;i++;
}
L->length=k;
}
void delnodel(SqList *&L,ElemType x)
{
int k=0,i;
for(i=0;i<L->length;i++)
if(L->data[i]!=x)
{
L->data[i]=L->data[k];
k++;
}
L->length=k;
}
void DispList(SqList *L)
{
for(int i=0;i<L->length;i++)
cout<<L->data[i]<<endl;
}
void main()
{
SqList *L;
InitList(L);
int i,n,x;
int a=new int[];
cin>>n;
cout<<"请输入数组a[]中的元素"<<endl;
for(i=1;i<n;i++)
{
cin>>a[i];
}
GreateList(L,a,n);
cin>>x;
delnodel(L,x);
cout<<endl;
DispList(L);
cout<<endl;
}
已经错到我改不下去了,我的程序大致是初始化线性表,然后构建线性表,再删除x的程序,再就是输出线性表,主函数调用各个函数。我是在vc++6.0上做的,大神们复制下我的程序帮忙修改下,感激不尽!