//删除string重复的元素
#include "iostream"
#include "string"
#include "windows.h"
#include "stdio.h"
using namespace std;
int main()
{
string str;
const char *a;
int len,n;
int num=0;
string s;
int i;
int index;
string::iterator pos;
int b[10];
memset(b,0,10);
cin>>str;
len=str.length();
a=str.c_str();
cout<<"删除了重复的元素后的字符串:"<<endl;
for(i=0; i<len; i++)
{
index=str.find(a[i],i+1);
if(index!=str.npos&&i+1<len)
{
b[num++]=index;//将重复的元素的索引在数组中存好!
}
}
for(i=0; i<num; i++)
{
b[i]=b[i]-i;//删除了一个元素之后,就递减string的长度,b[[i]中存放的重读元素的位置
pos=str.begin();
std::advance(pos,b[i]);//移动iterator指向每次要删除的元素的索引
str.erase(pos);
}
cout<<str;
system("pause");
return 0;
}
删除字符串中重复的字符串
最新推荐文章于 2021-12-01 16:32:02 发布