pair_type p3(1, 'a');
pair_type p4(2, 'b');
pair_type p5(3, 'x');
pair_type p6(6, 'f');
pair_type array[] = { p1, p2, p3, p4, p5, p6 };
int main() {
mmap m(array, array + 7);
mmap::iterator i;
// Return location of first element that is not less than 3
i = m.lower_bound(3);
cout ‹‹ 'lower bound:' ‹‹ endl;
cout ‹‹ (*i).first ‹‹ ' -› ' ‹‹ (*i).second ‹‹ endl;
// Return location of first element that is greater than 3
i = m.upper_bound(3);
cout ‹‹ 'upper bound:' ‹‹ endl;
cout ‹‹ (*i).first ‹‹ ' -› ' ‹‹ (*i).second ‹‹ endl;
return 0;
}
adjfind2.cpp
#include ‹stl.h›
#include ‹iostream.h›
#include ‹string.h›
typedef vector‹char*› CStrVector;
int equal_length(const char* v1_, const char* v2_) {
return ::strlen(v1_) == ::strlen(v2_);
}
char* names[] = {'Brett', 'Graham', 'Jack', 'Mike', 'Todd'};
int main() {
const int nameCount = sizeof(names)/sizeof(names[0]);
CStrVector v(nameCount);
for (int i = 0; i ‹ nameCount; i++) v[i] = names[i];
CStrVector::iterator location;
location = adjacent_find(v.begin(), v.end(), equal_length);
if (location!= v.end())
cout ‹‹ 'Found two adjacent strings of equal length: ' ‹‹ *location
‹‹ ' -and- ' ‹‹ *(location + 1) ‹‹ endl;
else cout ‹‹ 'Didn't find two adjacent strings of equal length.';
return 0;
}
list3.cpp
#include ‹iostream.h›
#include ‹stl.h›
char array[] = {'x', 'l', 'x', 't', 's', 's'};
int main() {
list‹char› str(array, array + 6);
list‹char›::iterator i;
cout ‹‹ 'original: ';
for (i = str.begin(); i != str.end(); i++) cout ‹‹ *i;
cout ‹‹ endl;
cout ‹‹ 'reversed: ';
str.reverse();
for (i = str.begin(); i != str.end(); i++) cout ‹‹ *i;
cout ‹‹ endl;
cout ‹‹ 'removed: ';
str.remove('x');
for (i = str.begin(); i != str.end(); i++) cout ‹‹ *i;
cout ‹‹ endl;
cout ‹‹ 'uniqued: ';
str.unique();
for (i = str.begin(); i != str.end(); i++) cout ‹‹ *i;
cout ‹‹ endl;
cout ‹‹ 'sorted: ';
str.sort();
for (i = str.begin(); i != str.end(); i++) cout ‹‹ *i;
cout ‹‹ endl;
return 0;
}
parsrtc2.cpp
#include ‹stl.h›
#include ‹iostream.h›
#include ‹string.h›
bool str_compare(const char* a_, const char* b_) {
return ::strcmp(a_, b_) ‹ 0 ? 1: 0;
}
char* names[] = {'aa', 'ff', 'dd', 'ee', 'cc', 'bb'};
int main() {