Программирование. Принципы и практика использования C++ Исправленное издание, стр. 301
find()binary_search()equal_range()binary_search()find()binary_search()find()Алгоритм
binary_searchtemplate<class Ran, class T>bool binary_search(Ran first,Ran last,const T& val);template<class Ran,class T,class Cmp>bool binary_search(Ran first,Ran last,const T& val,Cmp cmp);
binary_search()void f(vector<string>& vs) // vs упорядочено{ if (binary_search(vs.begin(),vs.end(),"starfruit")) { // в контейнере есть строка "starfruit" } // ...}
binary_search()lower_bound()upper_bound()equal_range()Задание
После выполнения каждой операции выведите содержание вектора на экран.
1. Определите структуру
struct Item { string name; int iid; double value; /* ... */ };vector<Item> vi2. Отсортируйте контейнер
viname3. Отсортируйте контейнер
viiid4. Отсортируйте контейнер
vivalue5. Вставьте в контейнер элементы
Item("horse shoe",99,12.34)Item("Canon S400",9988,499.95)6. Удалите два элемента Item из контейнера
viname7. Удалите два элемента Item из контейнера
viiid8. Повторите упражнение с контейнером типа
list<Item>vector<Item>Теперь поработайте с контейнером
map1. Определите контейнер
map<string,int>msi2. Вставьте в него десять пар (имя, значение), например
msi["lecture"]=213. Выведите пары (имя, значение) в поток
cout4. Удалите пары (имя, значение) из контейнера
msi5. Напишите функцию, считывающую пары из потока
cinmsi6. Прочитайте десять пар из потока ввода и поместите их в контейнер
msi7. Запишите элементы контейнера
msicout8. Выведите сумму (целых) значений из контейнера
msi9. Определите контейнер
map<int,string>mis10. Введите значения из контейнера
msimismsi("lecture",2121,"lecture"11. Выведите элементы контейнера
miscoutНесколько заданий, касающихся контейнера
vector1. Прочитайте несколько чисел с плавающей точкой (не меньше 16 значений) из файла в контейнер
vector<double>vd2. Выведите элементы контейнера
vdcout3. Создайте вектор
vivector<int>vdvdvi4. Выведите в поток
coutvd[i]vi[i]