Шрифт:
typedef multiset‹int, less‹int› › mset;
mset s(array, array + 9);
pair‹mset::const_iterator, mset::const_iterator› p = s.equal_range(3);
cout ‹‹ "lower bound = " ‹‹ *(p.first) ‹‹ endl;
cout ‹‹ "upper bound = " ‹‹ *(p.second) ‹‹ endl;
return 0;
}
iter3.cpp
#include ‹iostream.h›
#include ‹stl.h›
int main {
vector‹const char*› v; // Vector of character strings.
v.push_back((char*) "zippy"); // First element.
v.push_back((char*) "motorboy"); // Second element.
vector‹const char*›::reverse_iterator i;
for (i = v.rbegin; i!= v.rend; i++) cout ‹‹ *i ‹‹ endl; // Display item.
return 0;
}
list2.cpp
#include ‹iostream.h›
#include ‹stl.h›
int array1[] = {1, 16};
int array2[] = {4, 9};
int main {
list‹int› l1(array1, array1 + 2);
list‹int› l2(array2, array2 + 2);
list‹int›::iterator i = l1.begin;
i++;
l1.splice(i, l2, l2.begin, l2.end);
i = l1.begin;
while (i != l1.end) cout ‹‹ *i++ ‹‹ endl;
return 0;
}
set1.cpp
#include ‹iostream.h›
#include ‹stl.h›
int main {
set‹int, less‹int› › s;
cout ‹‹ "count(42) = " ‹‹ s.count(42) ‹‹ endl;
s.insert(42);
cout ‹‹ "count(42) = " ‹‹ s.count(42) ‹‹ endl;
s.insert(42);
cout ‹‹ "count(42) = " ‹‹ s.count(42) ‹‹ endl;
int count = s.erase(42);
cout ‹‹ count ‹‹ " elements erased" ‹‹ endl;
return 0;
}
list1.cpp
#include ‹iostream.h›
#include ‹stl.h›
int array1[] = {9, 16, 36};
int array2[] = {1, 4};
int main {
list‹int› l1(array1, array1 + 3);
list‹int› l2(array2, array2 + 2);
list‹int›::iterator i1 = l1.begin;
l1.splice(i1, l2);
list‹int›::iterator i2 = l1.begin;
while (i2!= l1.end) cout ‹‹ *i2++ ‹‹ endl;
return 0;
}
alg5.cpp
#include ‹iostream.h›
#include ‹stl.h›
int main {
list‹int› years;
years.push_back(1962);
years.push_back(1992);
years.push_back(2001);
years.push_back(1999);
sort(years.begin, years.end); // Causes linker error.
list‹int›::iterator i;
for (i = years.begin; i != years.end; i++) cout ‹‹ *i ‹‹ endl;
return 0;
}
eqlrnge0.cpp
#include ‹stl.h›
#include ‹iostream.h›
int numbers[10] = {0, 0, 1, 1, 2, 2, 2, 2, 3, 3};
int main {
pair ‹int*, int*› range;
range = equal_range(numbers, numbers + 10, 2);
cout ‹‹ "2 can be inserted from before index " ‹‹ (range.first - numbers)