РУКОВОДСТВО ПО СТАНДАРТНОЙ БИБЛИОТЕКЕ ШАБЛОНОВ (STL)
Шрифт:
result = mismatch(n1, n1 + size, n2, str_equal);
if (result.first == n2 + size && result.second == n2 + size)
cout ‹‹ "n1 and n2 are the same" ‹‹ endl;
else cout ‹‹ "mismatch at index: " ‹‹ (result.first - n1) ‹‹ endl;
return 0;
}
mismtch1.cpp
#include ‹stl.h›
#include ‹iostream.h›
int main {
typedef vector‹int› IntVec;
IntVec v1(10);
IntVec v2(v1.size);
iota(v1.begin, v1.end, 0);
iota(v2.begin, v2.end, 0);
pair ‹IntVec::iterator, IntVec::iterator› result;
result = mismatch(v1.begin, v1.end, v2.begin);
if (result.first = v1.end && result.second == v2.end)
cout ‹‹ "v1 and v2 are the same" ‹‹ endl;
else cout ‹‹ "mismatch at index: " ‹‹ (result.first - v1.begin) ‹‹ endl;
v2[v2.size/2] = 42;
result = mismatch(v1.begin, v1.end, v2.begin);
if (result.first == v1.end && result.second == v2.end)
cout ‹‹ "v1 and v2 are the same" ‹‹ endl;
else cout ‹‹ "mismatch at index: " ‹‹ (result.first - v1.begin) ‹‹ endl;
return 0;
}
mmap2.cpp
#include ‹iostream.h›
#include ‹stl.h›
typedef multimap‹int, char, less‹int› › mmap;
typedef pair‹const int, char› pair_type;
pair_type p1(3, 'c');
pair_type p2(6, 'f');
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;
Поделиться:
Популярные книги
Сумеречный стрелок 8
8. Сумеречный стрелок
Фантастика:
городское фэнтези
попаданцы
альтернативная история
аниме
5.00
рейтинг книги
Мимик нового Мира 13
12. Мимик!
Фантастика:
боевая фантастика
юмористическая фантастика
рпг
5.00
рейтинг книги
Отмороженный 10.0
10. Отмороженный
Фантастика:
боевая фантастика
рпг
5.00
рейтинг книги
Бывший муж
Любовные романы:
современные любовные романы
5.00
рейтинг книги
Безнадежно влип
Любовные романы:
современные любовные романы
5.00
рейтинг книги
Гром над Академией Часть 3
4. Гром над миром
Фантастика:
фэнтези
5.25
рейтинг книги
Убийца
3. Совсем не герой
Фантастика:
фэнтези
попаданцы
9.26
рейтинг книги
По осколкам твоего сердца
2. Хулиган и новенькая
Любовные романы:
современные любовные романы
5.56
рейтинг книги
Жена фаворита королевы. Посмешище двора
Фантастика:
фэнтези
5.00
рейтинг книги
Последняя Арена 7
7. Последняя Арена
Фантастика:
рпг
постапокалипсис
5.00
рейтинг книги
Возвращение Безумного Бога 4
4. Возвращение Безумного Бога
Фантастика:
фэнтези
юмористическое фэнтези
попаданцы
аниме
5.00
рейтинг книги
Варлорд
3. Сопряжение
Фантастика:
боевая фантастика
постапокалипсис
рпг
5.00
рейтинг книги
Авиатор: назад в СССР
1. Авиатор
Фантастика:
попаданцы
альтернативная история
5.25
рейтинг книги
Кодекс Охотника. Книга III
3. Кодекс Охотника
Фантастика:
фэнтези
попаданцы
аниме
7.00