When inserting elements in a set it should only insert unique elements but I get duplicates too.
What am I doing wrong?
Code:
#include <iostream> // cout
#include <algorithm> // unique, distance
#include <string>
#include <iterator> // std::back_inserter
#include <set>
#include <vector> // vector
using namespace std;
bool strcmpFunc(const char *c1, const char *c2)
{
return strcmp(c1, c2) < 0;
}
char *url[]=
{
"bbbb",
"bbbb",
"aaa",
"ccccccc",
"a",
"aaa"
};
int main ()
{
vector <char*> v;
std::set<char*> myset;
int size = sizeof(url)/sizeof(url[0]);
for (int i=0; i< size; ++i)
v.push_back(url[i]);
cout << v.size() <<'\n';
sort(v.begin(), v.end(), strcmpFunc);
myset.insert(v.begin(), v.end());
std::set<char*>::iterator it2;
std::cout << "myset contains: \n";
for (it2=myset.begin(); it2!=myset.end(); ++it2)
std::cout << *it2 << '\n';
std::cout << '\n';
cout << myset.size() << '\n';
return 0;
}