Вход/Регистрация
РУКОВОДСТВО ПО СТАНДАРТНОЙ БИБЛИОТЕКЕ ШАБЛОНОВ (STL)
вернуться

Менг Ли

Шрифт:

 else cout ‹‹ "mismatch at index: " ‹‹ (result.first - v1.begin) ‹‹ endl;

 v2[v2.size/2] = 42;

 result = mismatch(v1.begin, v1.end, v2.begin);

 if (result.first == v1.end && result.second == v2.end)

cout ‹‹ "v1 and v2 are the same" ‹‹ endl;

 else cout ‹‹ "mismatch at index: " ‹‹ (result.first - v1.begin) ‹‹ endl;

return 0;

}

mmap2.cpp

#include ‹iostream.h›

#include ‹stl.h›

typedef multimap‹int, char, less‹int› › mmap;

typedef pair‹const int, char› pair_type;

pair_type p1(3, 'c');

pair_type p2(6, 'f');

pair_type p3(1, 'a');

pair_type p4(2, 'b');

pair_type p5(3, 'x');

pair_type p6(6, 'f');

pair_type array[] = { p1, p2, p3, p4, p5, p6 };

int main {

 mmap m(array, array + 7);

 mmap::iterator i;

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

 i = m.lower_bound(3);

 cout ‹‹ "lower bound:" ‹‹ endl;

 cout ‹‹ (*i).first ‹‹ " -› " ‹‹ (*i).second ‹‹ endl;

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

 i = m.upper_bound(3);

 cout ‹‹ "upper bound:" ‹‹ endl;

 cout ‹‹ (*i).first ‹‹ " -› " ‹‹ (*i).second ‹‹ endl;

 return 0;

}

adjfind2.cpp

#include ‹stl.h›

#include ‹iostream.h›

#include ‹string.h›

typedef vector‹char*› CStrVector;

int equal_length(const char* v1_, const char* v2_) {

 return ::strlen(v1_) == ::strlen(v2_);

}

char* names[] = {"Brett", "Graham", "Jack", "Mike", "Todd"};

int main {

 const int nameCount = sizeof(names)/sizeof(names[0]);

 CStrVector v(nameCount);

 for (int i = 0; i ‹ nameCount; i++) v[i] = names[i];

 CStrVector::iterator location;

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

 if (location!= v.end)

cout ‹‹ "Found two adjacent strings of equal length: " ‹‹ *location

‹‹ " -and- " ‹‹ *(location + 1) ‹‹ endl;

 else cout ‹‹ "Didn't find two adjacent strings of equal length.";

 return 0;

}

list3.cpp

#include ‹iostream.h›

#include ‹stl.h›

char array[] = {'x', 'l', 'x', 't', 's', 's'};

int main {

 list‹char› str(array, array + 6);

 list‹char›::iterator i;

 cout ‹‹ "original: ";

 for (i = str.begin; i != str.end; i++) cout ‹‹ *i;

 cout ‹‹ endl;

 cout ‹‹ "reversed: ";

 str.reverse;

 for (i = str.begin; i != str.end; i++) cout ‹‹ *i;

 cout ‹‹ endl;

 cout ‹‹ "removed: ";

 str.remove('x');

 for (i = str.begin; i != str.end; i++) cout ‹‹ *i;

 cout ‹‹ endl;

 cout ‹‹ "uniqued: ";

 str.unique;

 for (i = str.begin; i != str.end; i++) cout ‹‹ *i;

 cout ‹‹ endl;

 cout ‹‹ "sorted: ";

 str.sort;

 for (i = str.begin; i != str.end; i++) cout ‹‹ *i;

 cout ‹‹ endl;

  • Читать дальше
  • 1
  • ...
  • 35
  • 36
  • 37
  • 38
  • 39
  • 40
  • 41
  • 42
  • 43
  • 44
  • 45
  • ...

Ебукер (ebooker) – онлайн-библиотека на русском языке. Книги доступны онлайн, без утомительной регистрации. Огромный выбор и удобный дизайн, позволяющий читать без проблем. Добавляйте сайт в закладки! Все произведения загружаются пользователями: если считаете, что ваши авторские права нарушены – используйте форму обратной связи.

Полезные ссылки

  • Моя полка

Контакты

  • chitat.ebooker@gmail.com

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