在顺序表L中删除所有值为x的元素(C语言)

#include
#include
#define MaxSize 50
typedef int ElemType;
typedef struct
{
 ElemType data[MaxSize];
 ElemType length;
}SqList;
void CreateList(SqList *&L,ElemType a[],int n)//创建一个顺序表 
{
 int i;
 L=(SqList*)malloc(sizeof(SqList));
 for(i=0;i<n;i++)
  L->data[i]=a[i];
  L->length=n;
}
void DispList(SqList *&L)//输出顺序表中的元素 
{
 for(int i=0;i<L->length;i++)
  printf("%d",L->data[i]);
 printf("\n");
}
void denode1(SqList *&L,ElemType x)//删除顺序表中全部x的元素 
{
 int k=0,i;
 for(i=0;i<L->length;i++)
  if(L->data[i]!=x)
  {
   L->data[k]=L->data[i];
   k++;
  }
 L->length=k;
}
int main()
{
 SqList *L;
 ElemType a[7]={2,3,5,2,7,9,2};
 CreateList(L,a,7);
 DispList(L);
 denode1(L,2);
 DispList(L);
 return 0; 
}

程序运行结果如下:
在顺序表L中删除所有值为x的元素(C语言)_第1张图片

你可能感兴趣的:(在顺序表L中删除所有值为x的元素(C语言))