I feel so ignored... Why are you guys reinventing the wheel?
Code
#include <iomanip>
#include <iostream>
#include <set>
#include <type_traits>
#include <typeinfo>
using namespace std;
int main()
{
int array[] = {1,1,1,3,4,7,8,2,4,6,2,7,2,7,21,6,4,1,6,1,4,6};
set<int> s;
for(auto&& it = begin(array); it != end(array); ++it) s.insert(*it);
for(auto&& i : s) cout << i << ", ";
}
Just a few lines and it works perfectly:
http://ideone.com/coXeTG