Александр Степанов - РУКОВОДСТВО ПО СТАНДАРТНОЙ БИБЛИОТЕКЕ ШАБЛОНОВ (STL)

Тут можно читать онлайн Александр Степанов - РУКОВОДСТВО ПО СТАНДАРТНОЙ БИБЛИОТЕКЕ ШАБЛОНОВ (STL) - бесплатно полную версию книги (целиком) без сокращений. Жанр: comp-programming, издательство МОСКОВСКИЙ ГОСУДАРСТВЕННЫЙ ИНСТИТУТ РАДИОТЕХНИКИ, ЭЛЕКТРОНИКИ И АВТОМАТИКИ (ТЕХНИЧЕСКИЙ УНИВЕРСИТЕТ), год 1999. Здесь Вы можете читать полную версию (весь текст) онлайн без регистрации и SMS на сайте лучшей интернет библиотеки ЛибКинг или прочесть краткое содержание (суть), предисловие и аннотацию. Так же сможете купить и скачать торрент в электронном формате fb2, найти и слушать аудиокнигу на русском языке или узнать сколько частей в серии и всего страниц в публикации. Читателям доступно смотреть обложку, картинки, описание и отзывы (комментарии) о произведении.
  • Название:
    РУКОВОДСТВО ПО СТАНДАРТНОЙ БИБЛИОТЕКЕ ШАБЛОНОВ (STL)
  • Автор:
  • Жанр:
  • Издательство:
    МОСКОВСКИЙ ГОСУДАРСТВЕННЫЙ ИНСТИТУТ РАДИОТЕХНИКИ, ЭЛЕКТРОНИКИ И АВТОМАТИКИ (ТЕХНИЧЕСКИЙ УНИВЕРСИТЕТ)
  • Год:
    1999
  • Город:
    Москва
  • ISBN:
    нет данных
  • Рейтинг:
    4.5/5. Голосов: 81
  • Избранное:
    Добавить в избранное
  • Отзывы:
  • Ваша оценка:
    • 100
    • 1
    • 2
    • 3
    • 4
    • 5

Александр Степанов - РУКОВОДСТВО ПО СТАНДАРТНОЙ БИБЛИОТЕКЕ ШАБЛОНОВ (STL) краткое содержание

РУКОВОДСТВО ПО СТАНДАРТНОЙ БИБЛИОТЕКЕ ШАБЛОНОВ (STL) - описание и краткое содержание, автор Александр Степанов, читайте бесплатно онлайн на сайте электронной библиотеки LibKing.Ru

РУКОВОДСТВО ПО СТАНДАРТНОЙ БИБЛИОТЕКЕ ШАБЛОНОВ (STL) - читать онлайн бесплатно полную версию (весь текст целиком)

РУКОВОДСТВО ПО СТАНДАРТНОЙ БИБЛИОТЕКЕ ШАБЛОНОВ (STL) - читать книгу онлайн бесплатно, автор Александр Степанов
Тёмная тема
Сбросить

Интервал:

Закладка:

Сделать

i -= 2; // Jump back two items.

cout ‹‹ "first element is " ‹‹ *i ‹‹ endl;

return 0;

}

setdiff0.cpp

#include ‹stl.h›

#include ‹iostream.h›

int v1[3] = {13, 18, 23};

int v2[4] = {10, 13, 17, 23};

int result[4] = {0, 0, 0, 0};

int main() {

set_difference(v1, v1 + 3, v2, v2 + 4, result);

for (int i = 0; i ‹ 4; i++) cout ‹‹ result[i] ‹‹ ' ';

cout ‹‹ endl;

set_difference(v2, v2 + 4, v1, v1 + 2, result);

for (i = 0; i ‹ 4; i++) cout ‹‹ result[i] ‹‹ ' ';

cout ‹‹ endl;

return 0;

}

lexcmp2.cpp

#include ‹stl.h›

#include ‹iostream.h›

const unsigned size = 6;

char n1[size] = "shoe";

char n2[size] = "shine";

int main() {

bool before = lexicographical_compare(n1, n1 + size, n2, n2 + size, greater‹char›());

if (before) cout ‹‹ n1 ‹‹ " is after " ‹‹ n2 ‹‹ endl;

else cout ‹‹ n2 ‹‹ " is after " ‹‹ n1 ‹‹ endl;

return 0;

}

adjdiff1.cpp

#include ‹stl.h›

#include ‹iostream.h›

int main() {

vector‹int› v(10);

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

vector‹int› result(v.size());

adjacent_difference(v.begin(), v.end(), result.begin());

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

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

cout ‹‹ endl;

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

cout ‹‹ endl;

return 0;

}

stblptn1.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() % 20;

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

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

cout ‹‹ endl;

stable_partition(v1.begin(), v1.end(), bind2nd(less‹int›(), 11));

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

cout ‹‹ endl;

return 0;

}

ptition1.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() % 20;

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

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

cout ‹‹ endl;

partition(v1.begin(), v1.end(), bind2nd(less‹int›(), 11));

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

cout ‹‹ endl;

return 0;

}

vec1.cpp

#include ‹iostream.h›

#include ‹stl.h›

int main() {

vector‹int› v1; // Empty vector of integers.

cout ‹‹ "empty = " ‹‹ v1.empty() ‹‹ endl;

cout ‹‹ "size = " ‹‹ v1.size() ‹‹ endl;

cout ‹‹ "max_size = " ‹‹ v1.max_size() ‹‹ endl;

v1.push_back(42); // Add an integer to the vector.

cout ‹‹ "size = " ‹‹ v1.size() ‹‹ endl;

cout ‹‹ "v1[0] = " ‹‹ v1[0] ‹‹ endl;

return 0;

}

sort2.cpp

#include ‹stl.h›

#include ‹iostream.h›

int array[] = {1, 50, -10, 11, 42, 19};

int main() {

int count = sizeof(array) / sizeof(array[0]);

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

cout ‹‹ "before: ";

copy(array, array + count, iter);

cout ‹‹ "\nafter: ";

sort(array, array + count, greater‹int›());

copy(array, array + count, iter);

cout ‹‹ endl;

return 0;

}

copy4.cpp

#include ‹stl.h›

#include ‹iostream.h›

int main() {

typedef vector‹int› IVec;

vector‹int› v1(10);

for (int loc = 0; loc ‹ v1.size(); loc++) v1[loc] = loc;

vector‹int› v2;

insert_iterator‹IVec› i (v2, v2.begin());

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

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

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

cout ‹‹ endl;

return 0;

}

prevprm2.cpp

#include ‹stl.h›

#include ‹iostream.h›

int main() {

vector‹int› v1(3);

iota(v1.begin(), v1.end(), 0);

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

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

cout ‹‹ endl;

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

prev_permutation(v1.begin(), v1.end(), greater‹int›());

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

cout ‹‹ endl;

}

return 0;

}

trnsfrm2.cpp

#include ‹stl.h›

#include ‹iostream.h›

#include ‹string.h›

char map_char(char a_, int b_) {

return char(a_ + b_);

}

int trans[] = {-4, 4, -6, -6, -10, 0, 10, -6, 6, 0, -1, -77};

char n[] = "Larry Mullen";

int main() {

const unsigned count = ::strlen(n);

ostream_iterator ‹char› iter(cout);

transform(n, n + count, trans, iter, map_char);

cout ‹‹ endl;

return 0;

}

iter1.cpp

#include ‹iostream.h›

#include ‹stl.h›

int main() {

vector‹const char*› v; // Vector of character strings.

v.push_back((char*) "zippy"); // First element.

v.push_back((char*) "motorboy"); // Second element.

vector‹const char*›::iterator i = v.begin(); // Position at end.

for (i = v.begin(); i != v.end(); i++) cout ‹‹ *i ‹‹ endl; // Display item.

return 0;

}

maxelem2.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* names[] = {"Brett", "Graham", "Jack", "Mike", "Todd"};

int main() {

const unsigned namesCt = sizeof(names)/sizeof(names[0]);

cout ‹‹ *max_element(names, names + namesCt, str_compare) ‹‹ endl;

return 0;

}

minelem2.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* names[] = {"Brett", "Graham", "Jack", "Mike", "Todd"};

int main() {

const unsigned namesCt = sizeof(names)/sizeof(names[0]);

cout ‹‹ *min_element(names, names + namesCt, str_compare) ‹‹ endl;

return 0;

}

partsum2.cpp

#include ‹stl.h›

#include ‹iostream.h›

int main() {

vector‹int› v1(5);

iota(v1.begin(), v1.end(), 1);

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

partial_sum(v1.begin(), v1.end(), v2.begin(), times‹int›());

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

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

cout ‹‹ endl;

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

cout ‹‹ endl;

return 0;

}

istmit1.cpp

#include ‹iostream.h›

#include ‹stl.h›

int main() {

char buffer[100];

int i = 0;

cin.unsetf(ios::skipws); // Disable white-space skipping.

cout ‹‹ "Please enter a string: ";

istream_iterator‹char, ptrdiff_t› s(cin);

while (*s!= '\n') buffer[i++] = *s++;

buffer[i] = '\0'; // Null terminate buffer.

cout ‹‹ "read " ‹‹ buffer ‹‹ endl;

return 0;

}

findif0.cpp

#include ‹stl.h›

#include ‹iostream.h›

bool odd(int a_) {

return a_ % 2;

}

int numbers[6] = {2, 4, 8, 15, 32, 64};

int main() {

int* location = find_if(numbers, numbers + 6, odd);

if (location != numbers + 6)

cout ‹‹ "Value " ‹‹ *location ‹‹ " at offset " ‹‹ (location - numbers) ‹‹ " is odd" ‹‹ endl;

return 0;

}

pheap1.cpp

#include ‹stl.h›

#include ‹iostream.h›

int main() {

vector‹int› v;

v.push_back(1);

v.push_back(20);

v.push_back(4);

make_heap(v.begin(), v.end());

v.push_back(7);

push_heap(v.begin(), v.end());

sort_heap(v.begin(), v.end());

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

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

cout ‹‹ endl;

return 0;

}

stblsrt2.cpp

#include ‹stl.h›

#include ‹iostream.h›

#include ‹string.h›

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

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

}

Читать дальше
Тёмная тема
Сбросить

Интервал:

Закладка:

Сделать


Александр Степанов читать все книги автора по порядку

Александр Степанов - все книги автора в одном месте читать по порядку полные версии на сайте онлайн библиотеки LibKing.




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


Отзывы читателей о книге РУКОВОДСТВО ПО СТАНДАРТНОЙ БИБЛИОТЕКЕ ШАБЛОНОВ (STL), автор: Александр Степанов. Читайте комментарии и мнения людей о произведении.


Понравилась книга? Поделитесь впечатлениями - оставьте Ваш отзыв или расскажите друзьям

Напишите свой комментарий
x