数组删除相同元素
#include<iostream>
using namespace std;
/*
* 一般数组去重复。
* 找到数组的长度len
*/
void printarray(char a[],int len)
{
for(int i=0;i<len;i++)
{
cout<<a[i]<<"";
}
cout<<"\n";
}
int deletarraysame(char a[],int len)
{
char *pint=a;
for(int i=0;i<len;i++)
{
for(int j=i+1;j<len;j++)
{
if(a[i]==a[j])
{
auto deletearray=[&len,pint,&j]
{
for(int it=j;it<len;it++)
{
// cout<<it+1<<":"<<pint[it]<<"<-"<<pint[it+1]<<endl;
pint[it]=pint[it+1];
}
len--;
};
deletearray();
j--;
}
}
}
return len;
}
int main()
{
int a[10]={1,2,3,2,2,6,1,2,7,4};
char b[]="abcdefghijkabcdopq";
int len=sizeof(b)/sizeof(b[0]);
cout<<len<<endl;
printarray(b,len);
len=deletarraysame(&b[0],len);
printarray(&b[0],len);
cout<<len;
return 0;
}