Remove adjacent duplicates: unique_copy
#include <string>
#include <iostream>
#include <algorithm>
using namespace std;
int main()
{
const string hello("Hello, how are you?");
string s(hello.begin(),hello.end());
// iterate through all of the characters
string::iterator pos;
for (pos = s.begin(); pos != s.end(); ++pos) {
cout << *pos;
}
cout << endl;
/* remove adjacent duplicates
* - unique() reorders and returns new end
* - erase() shrinks accordingly
*/
s.erase (unique(s.begin(), s.end()), s.end());
cout << "no duplicates: " << s << endl;
}
/*
Hello, how are you?
no duplicates: Helo, how are you?
*/
Related examples in the same category