РУКОВОДСТВО ПО СТАНДАРТНОЙ БИБЛИОТЕКЕ ШАБЛОНОВ (STL)
Шрифт:
parsrtc1.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;
vector‹int› result(5);
ostream_iterator‹int› iter(cout, " ");
copy(v1.begin, v1.end, iter);
cout ‹‹ endl;
partial_sort_copy(v1.begin, v1.end, result.begin, result.end);
copy(result.begin, result.end, iter);
cout ‹‹ endl;
return 0;
}
equal1.cpp
#include ‹stl.h›
#include ‹iostream.h›
int main {
vector‹int› v1(10);
for (int i = 0; i ‹ v1.size; i++) v1[i] = i;
vector‹int› v2(10);
if (equal(v1.begin, v1.end, v2.begin)) cout ‹‹ "v1 is equal to v2" ‹‹ endl;
else cout ‹‹ "v1 is not equal to v2" ‹‹ endl;
copy(v1.begin, v1.end, v2.begin);
if (equal(v1.begin, v1.end, v2.begin)) cout ‹‹ "v1 is equal to v2" ‹‹ endl;
else cout ‹‹ "v1 is not equal to v2" ‹‹ endl;
return 0;
}
equal0.cpp
#include ‹stl.h›
#include ‹iostream.h›
int numbers1[5] = {1, 2, 3, 4, 5};
int numbers2[5] = {1, 2, 4, 8, 16};
int numbers3[2] = {1, 2};
int main {
if (equal(numbers1, numbers1 + 5, numbers2))
cout ‹‹ "numbers1 is equal to numbers2" ‹‹ endl;
else cout ‹‹ "numbers1 is not equal to numbers2" ‹‹ endl;
if (equal(numbers3, numbers3 + 2, numbers1))
cout ‹‹ "numbers3 is equal to numbers1" ‹‹ endl;
else cout ‹‹ "numbers3 is not equal to numbers1" ‹‹ endl;
return 0;
}
genern2.cpp
#include ‹stl.h›
#include ‹iostream.h›
#include ‹stdlib.h›
class Fibonacci {
public:
Fibonacci: v1(0), v2(1) {}
int operator ;
private:
int v1;
int v2;
};
int Fibonacci::operator {
int r = v1 + v2;
v1 = v2;
v2 = r;
return v1;
}
int main {
vector‹int› v1(10);
Fibonacci generator;
generate_n(v1.begin, v1.size, generator);
ostream_iterator‹int› iter(cout, " ");
copy(v1.begin, v1.end, iter);
cout ‹‹ endl;
return 0;
}
gener2.cpp
#include ‹stl.h›
#include ‹iostream.h›
#include ‹stdlib.h›
class Fibonacci {
public:
Fibonacci: v1(0), v2(1) {}
int operator ;
private:
int v1;
int v2;
};
int Fibonacci::operator {
int r = v1 + v2;
v1 = v2;
v2 = r;
return v1;
}
int main {
vector‹int› v1(10);
Fibonacci generator;
generate(v1.begin, v1.end, generator);
ostream_iterator‹int› iter(cout, " ");
copy(v1.begin, v1.end, iter);
cout ‹‹ endl;
return 0;
}
repcpif1.cpp
#include ‹stl.h›
#include ‹iostream.h›
bool odd(int a_) {
return a_ % 2;
}
int main {
vector‹int› v1(10);
for (int i = 0; i ‹ v1.size; i++) v1[i] = i % 5;
ostream_iterator‹int› iter(cout, " ");
copy(v1.begin, v1.end, iter);
cout ‹‹ endl;
vector‹int› v2(v1.size);
replace_copy_if(v1.begin, v1.end, v2.begin, odd, 42);
copy(v1.begin, v1.end, iter);
Поделиться:
Популярные книги
Гридень 2. Поиск пути
2. Гридень
Детективы:
исторические детективы
5.00
рейтинг книги
На границе империй. Том 6
6. Фортуна дама переменчивая
Фантастика:
боевая фантастика
космическая фантастика
попаданцы
5.31
рейтинг книги
Довлатов. Сонный лекарь
1. Не вывожу
Фантастика:
альтернативная история
аниме
5.00
рейтинг книги
Неудержимый. Книга VIII
8. Неудержимый
Фантастика:
фэнтези
попаданцы
аниме
6.00
рейтинг книги
Гридень. Начало
Фантастика:
попаданцы
альтернативная история
5.00
рейтинг книги
Пипец Котенку! 2
2. РОС: Пипец Котенку!
Фантастика:
юмористическое фэнтези
попаданцы
аниме
5.00
рейтинг книги
Законы Рода. Том 5
5. Граф Берестьев
Фантастика:
юмористическое фэнтези
аниме
5.00
рейтинг книги
Кровь на эполетах
3. Штуцер и тесак
Фантастика:
альтернативная история
7.60
рейтинг книги
На границе империй. Том 3
3. Фортуна дама переменчивая
Фантастика:
космическая фантастика
5.63
рейтинг книги
Кодекс Крови. Книга V
5. РОС: Кодекс Крови
Фантастика:
фэнтези
попаданцы
аниме
5.00
рейтинг книги
Камень. Книга 4
4. Камень
Фантастика:
боевая фантастика
7.77
рейтинг книги
Новые горизонты
5. Гибрид
Фантастика:
попаданцы
технофэнтези
аниме
сказочная фантастика
фэнтези
5.00
рейтинг книги
Сердце для стража
5. Девятый
Фантастика:
фэнтези
боевая фантастика
9.20
рейтинг книги
Часовой ключ
1. Часодеи
Фантастика:
фэнтези
9.36