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

на главную

Жанры

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

Менг Ли

Шрифт:

bool str_equal(const char* a_, const char* b_) {

 return ::strcmp(a_, b_) - 0 ? 1: 0;

}

char* labels[] = {"Q","Q","W","W","E","E","R","T","T","Y","Y"};

int main {

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

 ostream_iterator ‹char*› iter(cout);

 copy(labels, labels + count, iter);

 cout ‹‹ endl;

 char* uCopy[count];

 fill(uCopy, uCopy + count, ");

 unique_copy(labels, labels + count, uCopy, str_equal);

 copy(labels, labels + count, iter);

cout ‹‹ endl;

copy(uCopy, uCopy + count, iter);

cout ‹‹ endl;

return 0;

}

mismtch0.cpp

#include ‹stl.h›

#include ‹iostream.h›

int n1[5] = {1, 2, 3, 4, 5};

int n2[5] = {1, 2, 3, 4, 5};

int n3[5] = {1, 2, 3, 2, 1};

int main {

 pair ‹int*, int*› result;

 result = mismatch(n1, n1 + 5, n2);

 if (result.first == (n1 + 5) && result.second == (n2 + 5))

cout ‹‹ "n1 and n2 are the same" ‹‹ endl;

 else cout ‹‹ "Mismatch at offset: " ‹‹ (result.first - n1) ‹‹ endl;

 result = mismatch(n1, n1 + 5, n3);

 if (result.first == (n1 + 5) && result.second == (n3 + 5))

cout ‹‹ "n1 and n3 are the same" ‹‹ endl;

 else cout ‹‹ "Mismatch at offset: " ‹‹ (result.first - n1) ‹‹ endl;

 return 0;

}

rndshuf2.cpp

#include ‹stl.h›

#include ‹stdlib.h›

#include ‹iostream.h›

class MyRandomGenerator {

public:

 nsigned long operator(unsigned long n_);

};

unsigned long MyRandomGenerator::operator(unsigned long n_) {

 return rand % n_;

}

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;

 MyRandomGenerator r;

 for (int i = 0; i ‹ 3; i++) {

random_shuffle(v1.begin, v1.end, r);

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

cout ‹‹ endl;

 }

 return 0;

}

merge2.cpp

#include ‹stl.h›

#include ‹iostream.h›

int main {

 vector‹int› v1(5);

 vector‹int› v2(v1.size);

 for (int i = 0; i ‹ v1.size; i++) {

v1[i] = 10 - i;

v2[i] = 7 - i;

 }

 vector‹int› result(v1.size + v2.size);

 merge(v1.begin, v1.end, v2.begin, v2.end, result.begin, greater‹int›);

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

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

 cout ‹‹ endl;

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

 cout ‹‹ endl;

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

 cout ‹‹ endl;

 return 0;

}

adjfind1.cpp

#include ‹stl.h›

#include ‹iostream.h›

int main {

 typedef vector‹int› IntVector;

 IntVector v(10);

 for (int i = 0; i ‹ v.size; i++) v[i] = i;

 IntVector::iterator location;

 location = adjacent_find(v.begin, v.end);

 if (location != v.end) cout ‹‹ "Found adjacent pair of: " ‹‹ *location ‹‹ endl;

 else cout ‹‹ "No adjacent pairs" ‹‹ endl;

 v[6] = 7;

 location = adjacent_find(v.begin, v.end);

 if (location!= v.end) cout ‹‹ "Found adjacent pair of: " ‹‹ *location ‹‹ endl;

 else cout ‹‹ "No adjacent pairs" ‹‹ endl;

 return 0;

}

vec7.cpp

#include ‹iostream.h›

#include ‹stl.h›

int array1[] = {1, 4, 25};

int array2[] = {9, 16};

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

Фиктивная жена

Шагаева Наталья
1. Братья Вертинские
Любовные романы:
современные любовные романы
5.00
рейтинг книги
Фиктивная жена

Прометей: каменный век

Рави Ивар
1. Прометей
Фантастика:
альтернативная история
6.82
рейтинг книги
Прометей: каменный век

Сердце Дракона. Предпоследний том. Часть 1

Клеванский Кирилл Сергеевич
Сердце дракона
Фантастика:
фэнтези
5.00
рейтинг книги
Сердце Дракона. Предпоследний том. Часть 1

Дайте поспать! Том III

Матисов Павел
3. Вечный Сон
Фантастика:
фэнтези
5.00
рейтинг книги
Дайте поспать! Том III

Охота на эмиссара

Катрин Селина
1. Федерация Объединённых Миров
Любовные романы:
любовно-фантастические романы
5.00
рейтинг книги
Охота на эмиссара

Боги, пиво и дурак. Том 3

Горина Юлия Николаевна
3. Боги, пиво и дурак
Фантастика:
фэнтези
попаданцы
5.00
рейтинг книги
Боги, пиво и дурак. Том 3

Целитель

Первухин Андрей Евгеньевич
1. Целитель
Фантастика:
фэнтези
попаданцы
5.00
рейтинг книги
Целитель

"Фантастика 2023-123". Компиляция. Книги 1-25

Харников Александр Петрович
Фантастика 2023. Компиляция
Фантастика:
боевая фантастика
альтернативная история
5.00
рейтинг книги
Фантастика 2023-123. Компиляция. Книги 1-25

Мужчина моей судьбы

Ардова Алиса
2. Мужчина не моей мечты
Любовные романы:
любовно-фантастические романы
8.03
рейтинг книги
Мужчина моей судьбы

Измена. Возвращение любви!

Леманн Анастасия
3. Измены
Любовные романы:
современные любовные романы
5.00
рейтинг книги
Измена. Возвращение любви!

Нефилим

Демиров Леонид
4. Мания крафта
Фантастика:
фэнтези
боевая фантастика
рпг
7.64
рейтинг книги
Нефилим

Ваше Сиятельство 6

Моури Эрли
6. Ваше Сиятельство
Фантастика:
попаданцы
аниме
5.00
рейтинг книги
Ваше Сиятельство 6

Магия чистых душ 2

Шах Ольга
Любовные романы:
любовно-фантастические романы
5.56
рейтинг книги
Магия чистых душ 2

Чиновникъ Особых поручений

Кулаков Алексей Иванович
6. Александр Агренев
Фантастика:
попаданцы
альтернативная история
5.00
рейтинг книги
Чиновникъ Особых поручений