copy(v1.begin(), v1.end(), iter);
cout ‹‹ '
v2: ';
copy(v2.begin(), v2.end(), iter);
cout ‹‹ endl;
set_difference(v1.begin(), v1.end(), v2.begin(), v2.end(), iter);
cout ‹‹ endl;
return 0;
}
adjdiff2.cpp
#include ‹stl.h›
#include ‹iostream.h›
int mult(int a_, int b_) {
return a_ * b_;
}
int main() {
vector‹int› v(10);
for (int i = 0; i ‹ v.size(); i++) v[i] = i + 1;
vector‹int› rslt(v.size());
adjacent_difference(v.begin(), v.end(), rslt.begin(), mult);
ostream_iterator‹int› iter(cout, ' ');
copy(v.begin(), v.end(), iter);
cout ‹‹ endl;
copy(rslt.begin(), rslt.end(), iter);
cout ‹‹ endl;
return 0;
}
rotate1.cpp
#include ‹stl.h›
#include ‹iostream.h›
int main() {
vector‹int› v1(10);
iota(v1.begin(), v1.end(), 0);
ostream_iterator‹int› iter(cout, ' ');
copy(v1.begin(), v1.end(), iter);
cout ‹‹ endl;
for (int i = 0; i ‹ v1.size(); i++) {
rotate(v1.begin(), v1.begin() + i, v1.end());
ostream_iterator ‹int› iter(cout, ' ');
copy(v1.begin(), v1.end(), iter);
cout ‹‹ endl;
}
cout ‹‹ endl;
return 0;
}
setunon1.cpp
#include ‹stl.h›
#include ‹iostream.h›
int main() {
vector‹int› v1(10);
iota(v1.begin(), v1.end(), 0);
vector‹int› v2(10);
iota(v2.begin(), v2.end(), 7);
ostream_iterator‹int› iter(cout, ' ');
cout ‹‹ 'v1: ';
copy(v1.begin(), v1.end(), iter);
cout ‹‹ '
v2: ';
copy(v2.begin(), v2.end(), iter);
cout ‹‹ endl;
set_union(v1.begin(), v1.end(), v2.begin(), v2.end(), iter);
cout ‹‹ endl;
return 0;
}
insert1.cpp
#include ‹iostream.h›
#include ‹stl.h›
char* array1[] = {'laurie', 'jennifer', 'leisa'};
char* array2[] = {'amanda', 'saskia', 'carrie'};
int main() {
deque‹char*› names(array1, array1 + 3);
deque‹char*›::iterator i = names.begin() + 2;
copy(array2, array2 + 3, insert_iterator‹deque ‹char*› ›(names, i));
deque‹char*›::iterator j;
for (j = names.begin(); j!= names.end(); j++) cout ‹‹ *j ‹‹ endl;
return 0;
}