#include<iostream>
using namespace std;
#define MaxSize 100
//从有序顺序表中删除所有其值重复的元素,使表中所有元素的值均不相同
typedef struct{
int data[MaxSize];
int Length;
}SqList;
//扫描L,记录重复元素的个数,同时将当前元素前移k个位置
bool delete_all(SqList &L) {
int i;
int k=0;//k记录重复元素个数
for(i=1;i<L.Length;i++){
if(L.data[i-1]==L.data[i]){
k++;
}
L.data[i-k]=L.data[i];
}
L.Length=L.Length-k;
return true;
}
int main(){
SqList li;//定义顺序表
cout<<"请输入数组长度:";
cin>>li.Length;
cout<<"请输入值:" ;
for(int i=0;i<li.Length;i++)
{
cin>>li.data[i];
}
delete_all(li);
cout<<"删除重复元素后的数组为";
for(int i=0;i<li.Length;i++)
cout<<li.data[i]<<" ";
cout<<endl;
return 0;
}