```cpp
#include <iostream>
#include <vector>
#include <set>
#include <tr1/unordered_set>
using namespace std;
int main()
{
const size_t N = 12;
int a[N] = {1,2,3,4,8,9,3,2,1,0,4,8};
vector<int> vec( a, a + N );
cout << "test 1" << "\n";
tr1::unordered_set<int> st(vec.begin(), vec.end());
tr1::unordered_set<int> ::iterator it;
for (it = st.begin(); it != st.end(); it++)
{
cout << *it << "\n";
}
cout << "test 2" << "\n";
vec.assign(st.begin(), st.end());
for (int i = 0; i < vec.size(); i++)
{
cout << vec[i]<< "\n";
}
return 0;
}