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

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

Жанры

РУКОВОДСТВО ПО СТАНДАРТНОЙ БИБЛИОТЕКЕ ШАБЛОНОВ (STL)

Менг Ли

Шрифт:

 // Return location of first element that is not less than 3

 i = s.lower_bound(3);

 cout ‹‹ "lower bound = " ‹‹ *i ‹‹ endl;

 // Return location of first element that is greater than 3

 i = s.upper_bound(3);

 cout ‹‹ "upper bound = " ‹‹ *i ‹‹ endl;

 return 0;

}

binsrch2.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* labels[] = {"aa", "dd", "ff", "jj", "ss", "zz"};

int main {

 const unsigned count = sizeof(labels) / sizeof(labels[0]);

 if (binary_search(labels, labels + count, "ff", str_compare)) cout ‹‹ "ff is in labels." ‹‹ endl;

 else cout ‹‹ "ff is not in labels." ‹‹ endl;

 return 0;

}

nthelem2.cpp

#include ‹stl.h›

#include ‹stdlib.h›

#include ‹iostream.h›

int main {

 vector‹int› v1(10);

 for (int i = 0; i ‹ v1.size; i++) v1[i] = rand % 10;

 ostream_iterator‹int› iter(cout, " ");

 copy(v1.begin, v1.end, iter);

 cout ‹‹ endl;

 nth_element(v1.begin, v1.begin + v1.size / 2, v1.end, greater‹int›);

 copy(v1.begin, v1.end, iter);

 cout ‹‹ endl;

 return 0;

}

setintr1.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 ‹‹ "\nv2: ";

 copy(v2.begin, v2.end, iter);

 cout ‹‹ endl;

 set_intersection(v1.begin, v1.end, v2.begin, v2.end, iter);

 cout ‹‹ endl;

 return 0;

}

setdiff1.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 ‹‹ "\nv2: ";

 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

Поделиться:
Популярные книги

Газлайтер. Том 10

Володин Григорий
10. История Телепата
Фантастика:
боевая фантастика
5.00
рейтинг книги
Газлайтер. Том 10

Законы Рода. Том 5

Flow Ascold
5. Граф Берестьев
Фантастика:
юмористическое фэнтези
аниме
5.00
рейтинг книги
Законы Рода. Том 5

Измена. Избранная для дракона

Солт Елена
Любовные романы:
любовно-фантастические романы
3.40
рейтинг книги
Измена. Избранная для дракона

Невеста на откуп

Белецкая Наталья
2. Невеста на откуп
Фантастика:
фэнтези
5.83
рейтинг книги
Невеста на откуп

Купец VI ранга

Вяч Павел
6. Купец
Фантастика:
попаданцы
аниме
фэнтези
5.00
рейтинг книги
Купец VI ранга

Офицер-разведки

Поселягин Владимир Геннадьевич
2. Красноармеец
Фантастика:
боевая фантастика
попаданцы
5.00
рейтинг книги
Офицер-разведки

Надуй щеки! Том 4

Вишневский Сергей Викторович
4. Чеболь за партой
Фантастика:
попаданцы
уся
дорама
5.00
рейтинг книги
Надуй щеки! Том 4

Русь. Строительство империи 2

Гросов Виктор
2. Вежа. Русь
Фантастика:
попаданцы
альтернативная история
рпг
5.00
рейтинг книги
Русь. Строительство империи 2

Переиграть войну! Пенталогия

Рыбаков Артем Олегович
Переиграть войну!
Фантастика:
героическая фантастика
альтернативная история
8.25
рейтинг книги
Переиграть войну! Пенталогия

На границе империй. Том 2

INDIGO
2. Фортуна дама переменчивая
Фантастика:
космическая фантастика
7.35
рейтинг книги
На границе империй. Том 2

Страж Кодекса. Книга VI

Романов Илья Николаевич
6. КО: Страж Кодекса
Фантастика:
фэнтези
попаданцы
аниме
5.00
рейтинг книги
Страж Кодекса. Книга VI

Здравствуй, 1984-й

Иванов Дмитрий
1. Девяностые
Фантастика:
альтернативная история
6.42
рейтинг книги
Здравствуй, 1984-й

На границе империй. Том 9. Часть 3

INDIGO
16. Фортуна дама переменчивая
Фантастика:
космическая фантастика
попаданцы
5.00
рейтинг книги
На границе империй. Том 9. Часть 3

Морской волк. 1-я Трилогия

Савин Владислав
1. Морской волк
Фантастика:
альтернативная история
8.71
рейтинг книги
Морской волк. 1-я Трилогия