将一个int A[]={ , , ,}定义的可能重复的数字去掉重复的元素。
了解向量,容器如何使用,size,地址的关系,理解unique erase函数的返回值是什么参数
结果:将1,1,1,2,2,2,3,3,3,4,4,4,5,5,5消去变成1,2,3,4,5
#include <iostream>
#include <cassert>
#include <algorithm>
#include <vector>
#include <string>
#include <iterator>
using namespace std;
int main()
{
//cout<<"Illustrating the generic unique algorithm."<<endl;
const int N=15;
int array1[N]={1,1,1,2,2,2,3,3,3,4,4,4,5,5,5};
vector<int> vector1;
for (int i=0;i<N;++i)
vector1.push_back(array1[i]);
// cout<<array1<<endl;
vector<int>::iterator new_end;
new_end=unique(vector1.begin(),vector1.end()); //"删除"相邻的重复元素
cout<<*new_end<<endl;
for (int i=0;i<vector1.size();i++)
cout << vector1[i] << " "; //
cout << endl;
return 0;
}
-------------------------------------------------------------------- --------------------------------------------------------------------
#include <iostream>
#include <algorithm>
#include <string>
#include <vector>
using namespace std;
void main()
{
int A[12] = {1,1,1,2,2,2,3,3,3,4,4,4};
vector<int> a;
for (int i=0;i<12;i++)
a.push_back(A[i]);
for (int i=0;i<a.size();i++)
cout << a[i] << " "; //
cout << endl;
a.erase(unique(a.begin(),a.end()),a.end());
for (int i=0;i<a.size();i++)
cout << a[i] << " "; //
cout << endl;
//
}