语言:C++
#include <iostream>
using namespace std;
typedef int ElemType;
//定义
#define MAXSIZE 100
typedef struct
{ElemType *elem;
int length;}SqList;
//创建
void CreateList(SqList &L)
{
int i;
L.elem=new ElemType[MAXSIZE];
if(!L.elem) cout<<"创建失败!"<<endl;
cout<<"请输入线性表的长度,不能大于"<<MAXSIZE<<':'<<endl; cin>>L.length;
cout<<"请依次输入表中元素:"<<endl;
for(i=0;i<L.length;i++)
cin>>L.elem[i];
cout<<"创建完成!"<<endl;
}
//输出表
void display(SqList L)
{
int i;
cout<<'[';
for(i=0;i<L.length;i++)
{if (i==L.length-1)cout<<L.elem[i];
else cout<<L.elem[i]<<',';}
cout<<']'<<endl;
}
void ChooseList_L(SqList &L,int item)
{
int i=0;int j=0;int k;int count=0;
for(k=0;k<L.length;k++)
{
if(L.elem[k]!=item)
{
L.elem[j]=L.elem[i];
i++;
j++;
}
else
{
i++;
count++;
}
}
L.length-=count;
}
int main()
{
SqList L;int item;
CreateList(L);
cout<<"当前线性表为:"<<endl;
display(L);
cout<<"删除表中所有值为item的数据元素,请输入item:"<<endl;
cin>>item;
ChooseList_L(L,item);
cout<<"选择删除后线性表为:"<<endl;
display(L);
return 0;
}