1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
| // unique algorithm example#include <iostream>// std::cout#include <algorithm>// std::unique, std::distance#include <vector>// std::vectorbool myfunction (int i,int j) {return (i==j);}int main () {int myints[] = {10,20,20,20,30,30,20,20,10};// 10 20 20 20 30 30 20 20 10 std::vector<int> myvector (myints,myints+9);// using default comparison: std::vector<int>::iterator it; it = std::unique (myvector.begin(), myvector.end());// 10 20 30 20 10 ? ? ? ?// ^ myvector.resize( std::distance(myvector.begin(),it) );// 10 20 30 20 10// using predicate comparison: std::unique (myvector.begin(), myvector.end(), myfunction);// (no changes)// print out content: std::cout <<"myvector contains:";for (it=myvector.begin(); it!=myvector.end(); ++it) std::cout <<' ' << *it; std::cout <<'\n';return 0;}
|