Чтение онлайн

на главную - закладки

Жанры

РУКОВОДСТВО ПО СТАНДАРТНОЙ БИБЛИОТЕКЕ ШАБЛОНОВ (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
рейтинг книги
Сумеречный стрелок 8

Мимик нового Мира 13

Северный Лис
12. Мимик!
Фантастика:
боевая фантастика
юмористическая фантастика
рпг
5.00
рейтинг книги
Мимик нового Мира 13

Отмороженный 10.0

Гарцевич Евгений Александрович
10. Отмороженный
Фантастика:
боевая фантастика
рпг
5.00
рейтинг книги
Отмороженный 10.0

Бывший муж

Рузанова Ольга
Любовные романы:
современные любовные романы
5.00
рейтинг книги
Бывший муж

Безнадежно влип

Юнина Наталья
Любовные романы:
современные любовные романы
5.00
рейтинг книги
Безнадежно влип

Гром над Академией Часть 3

Машуков Тимур
4. Гром над миром
Фантастика:
фэнтези
5.25
рейтинг книги
Гром над Академией Часть 3

Убийца

Бубела Олег Николаевич
3. Совсем не герой
Фантастика:
фэнтези
попаданцы
9.26
рейтинг книги
Убийца

По осколкам твоего сердца

Джейн Анна
2. Хулиган и новенькая
Любовные романы:
современные любовные романы
5.56
рейтинг книги
По осколкам твоего сердца

Жена фаворита королевы. Посмешище двора

Семина Дия
Фантастика:
фэнтези
5.00
рейтинг книги
Жена фаворита королевы. Посмешище двора

Последняя Арена 7

Греков Сергей
7. Последняя Арена
Фантастика:
рпг
постапокалипсис
5.00
рейтинг книги
Последняя Арена 7

Возвращение Безумного Бога 4

Тесленок Кирилл Геннадьевич
4. Возвращение Безумного Бога
Фантастика:
фэнтези
юмористическое фэнтези
попаданцы
аниме
5.00
рейтинг книги
Возвращение Безумного Бога 4

Варлорд

Астахов Евгений Евгеньевич
3. Сопряжение
Фантастика:
боевая фантастика
постапокалипсис
рпг
5.00
рейтинг книги
Варлорд

Авиатор: назад в СССР

Дорин Михаил
1. Авиатор
Фантастика:
попаданцы
альтернативная история
5.25
рейтинг книги
Авиатор: назад в СССР

Кодекс Охотника. Книга III

Винокуров Юрий
3. Кодекс Охотника
Фантастика:
фэнтези
попаданцы
аниме
7.00
рейтинг книги
Кодекс Охотника. Книга III