STL中Unique函数的作用是去除相邻重复元素
#include <iostream>
#include <algorithm>
#include <vector>
using namespace std
int main()
{
int a[10] = {7,4,1,7,4,1,7,4,1,0};
sort(a,a+10);//小到大
vector<int>ver(a,a+10);
vector<int>::iterator iter = unique(ver.begin(),ver.end());
ver.erase(iter,ver.end());
for( int *t = ver.begin() ; t != ver.end() ; t ++ )
printf("%d ",*t);
return 0;
}
数组排完序之后的结果是a[10]={0,1,1,1,4,4,4,7,7,7};
故此段程序的输出结果是0 1 4 7
#include <iostream>
#include <functional>
#include <algorithm>
#include <vector>
#include <iterator>
using namespace std;
int main()
{
vector<int> vi;
vi.push_back(1); // insert elements into vector
vi.push_back(0);
vi.push_back(0);
vi.push_back(9);
vi.push_back(2); //.............
vi.push_back(0);
vector<int>::iterator new_end = unique(vi.begin(), vi.end());
vi.erase(new_end, vi.end());
vector<int>::iterator it;
copy(vi.begin(),vi.end(),std::ostream_iterator<int>( std::cout," "));
cout << endl;
sort(vi.begin(),vi.end());
vector<int>::iterator new_end2 = unique(vi.begin(), vi.end());
copy(vi.begin(),new_end2,std::ostream_iterator<int>( std::cout," "));
cout << endl;
}
#include <iostream>
#include <algorithm>
#include <vector>
using namespace std
int main()
{
int a[10] = {7,4,1,7,4,1,7,4,1,0};
sort(a,a+10);//小到大
vector<int>ver(a,a+10);
vector<int>::iterator iter = unique(ver.begin(),ver.end());
ver.erase(iter,ver.end());
for( int *t = ver.begin() ; t != ver.end() ; t ++ )
printf("%d ",*t);
return 0;
}
数组排完序之后的结果是a[10]={0,1,1,1,4,4,4,7,7,7};
故此段程序的输出结果是0 1 4 7
#include <iostream>
#include <functional>
#include <algorithm>
#include <vector>
#include <iterator>
using namespace std;
int main()
{
vector<int> vi;
vi.push_back(1); // insert elements into vector
vi.push_back(0);
vi.push_back(0);
vi.push_back(9);
vi.push_back(2); //.............
vi.push_back(0);
vector<int>::iterator new_end = unique(vi.begin(), vi.end());
vi.erase(new_end, vi.end());
vector<int>::iterator it;
copy(vi.begin(),vi.end(),std::ostream_iterator<int>( std::cout," "));
cout << endl;
sort(vi.begin(),vi.end());
vector<int>::iterator new_end2 = unique(vi.begin(), vi.end());
copy(vi.begin(),new_end2,std::ostream_iterator<int>( std::cout," "));
cout << endl;
}