РУКОВОДСТВО ПО СТАНДАРТНОЙ БИБЛИОТЕКЕ ШАБЛОНОВ (STL)
Шрифт:
#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_union(v1.begin, v1.end, v2.begin, v2.end, iter);
cout ‹‹ endl;
return 0;
}
insert1.cpp
#include ‹iostream.h›
#include ‹stl.h›
char* array1[] = {"laurie", "jennifer", "leisa"};
char* array2[] = {"amanda", "saskia", "carrie"};
int main {
deque‹char*› names(array1, array1 + 3);
deque‹char*›::iterator i = names.begin + 2;
copy(array2, array2 + 3, insert_iterator‹deque ‹char*› ›(names, i));
deque‹char*›::iterator j;
for (j = names.begin; j!= names.end; j++) cout ‹‹ *j ‹‹ endl;
return 0;
}
ucompos2.cpp
#include ‹iostream.h›
#include ‹math.h›
#include ‹stl.h›
struct square_root: public unary_function‹double, double› {
square_root {}
double operator (double x_) const {return sqrt(x_);}
};
int input[3] = {-1, -4, -16};
int main {
int output[3];
transform(input, input + 3, output, compose1(square_root, negate‹int›));
for (int i = 0; i ‹ 3; i++) cout ‹‹ output[i] ‹‹ endl;
return 0;
}
parsrt1.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;
partial_sort(v1.begin, v1.begin + v1.size / 2, v1.end);
copy(v1.begin, v1.end, iter);
cout ‹‹ endl;
return 0;
}
equal2.cpp
#include ‹stl.h›
#include ‹iostream.h›
bool values_squared(int a_, int b_) {
return (a_ * a_ == b_);
}
int main {
vector‹int› v1(10);
vector‹int› v2(10);
for (int i = 0; i ‹ v1.size; i++) {
v1[i] = i;
v2[i] = i * i;
}
if (equal(v1.begin, v1.end, v2.begin, values_squared))
cout ‹‹ "v2[i] == v1[i] * v1[i]" ‹‹ endl;
else cout ‹‹ "v2[i] != v1[i] * v1[i]" ‹‹ endl;
return 0;
}
inplmrg2.cpp
#include ‹stl.h›
#include ‹iostream.h›
int main {
vector‹int› v1(10);
for (int i = 0; i ‹ v1.size; i++) v1[i] = (v1.size - i - 1) % 5;
ostream_iterator‹int› iter(cout, " ");
copy(v1.begin, v1.end, iter);
cout ‹‹ endl;
inplace_merge(v1.begin, v1.begin + 5, v1.end, greater‹int›);
copy(v1.begin, v1.end, iter);
cout ‹‹ endl;
return 0;
}
nthelem1.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);
copy(v1.begin, v1.end, iter);
cout ‹‹ endl;
return 0;
}
vec4.cpp
#include ‹iostream.h›
#include ‹stl.h›
Поделиться:
Популярные книги
Газлайтер. Том 4
4. История Телепата
Фантастика:
попаданцы
альтернативная история
аниме
5.00
рейтинг книги
Сумеречный стрелок 8
8. Сумеречный стрелок
Фантастика:
городское фэнтези
попаданцы
альтернативная история
аниме
5.00
рейтинг книги
Кодекс Охотника. Книга XIX
19. Кодекс Охотника
Фантастика:
фэнтези
5.00
рейтинг книги
Возвышение Меркурия. Книга 3
3. Меркурий
Фантастика:
попаданцы
аниме
5.00
рейтинг книги
Барон нарушает правила
3. Закон сильного
Фантастика:
фэнтези
попаданцы
аниме
5.00
рейтинг книги
Санек
1. Санек
Фантастика:
попаданцы
альтернативная история
4.00
рейтинг книги
Довлатов. Сонный лекарь 3
3. Не вывожу
Фантастика:
попаданцы
аниме
5.00
рейтинг книги
Кремлевские звезды
6. Цеховик
Фантастика:
попаданцы
альтернативная история
5.00
рейтинг книги
Назад в ссср 6
6. Курсант
Фантастика:
попаданцы
альтернативная история
6.00
рейтинг книги
Ваше Сиятельство 7
7. Ваше Сиятельство
Фантастика:
боевая фантастика
аниме
5.00
рейтинг книги
Особое назначение
2. Гарем вне закона
Фантастика:
фэнтези
6.89
рейтинг книги
Инферно
2. Легенда
Фантастика:
фэнтези
8.57
рейтинг книги
Охотник за головами
1. Фронтир
Фантастика:
боевая фантастика
космическая фантастика
5.00
рейтинг книги
Назад в СССР: 1985 Книга 2
2. Спасти ЧАЭС
Фантастика:
попаданцы
альтернативная история
6.00