МАРК РЕГНЕРУС ДОСЛІДЖЕННЯ: Наскільки відрізняються діти, які виросли в одностатевих союзах
РЕЗОЛЮЦІЯ: Громадського обговорення навчальної програми статевого виховання ЧОМУ ФОНД ОЛЕНИ ПІНЧУК І МОЗ УКРАЇНИ ПРОПАГУЮТЬ "СЕКСУАЛЬНІ УРОКИ" ЕКЗИСТЕНЦІЙНО-ПСИХОЛОГІЧНІ ОСНОВИ ПОРУШЕННЯ СТАТЕВОЇ ІДЕНТИЧНОСТІ ПІДЛІТКІВ Батьківський, громадянський рух в Україні закликає МОН зупинити тотальну сексуалізацію дітей і підлітків Відкрите звернення Міністру освіти й науки України - Гриневич Лілії Михайлівні Представництво українського жіноцтва в ООН: низький рівень культури спілкування в соціальних мережах Гендерна антидискримінаційна експертиза може зробити нас моральними рабами ЛІВИЙ МАРКСИЗМ У НОВИХ ПІДРУЧНИКАХ ДЛЯ ШКОЛЯРІВ ВІДКРИТА ЗАЯВА на підтримку позиції Ганни Турчинової та права кожної людини на свободу думки, світогляду та вираження поглядів
Контакти
Тлумачний словник Авто Автоматизація Архітектура Астрономія Аудит Біологія Будівництво Бухгалтерія Винахідництво Виробництво Військова справа Генетика Географія Геологія Господарство Держава Дім Екологія Економетрика Економіка Електроніка Журналістика та ЗМІ Зв'язок Іноземні мови Інформатика Історія Комп'ютери Креслення Кулінарія Культура Лексикологія Література Логіка Маркетинг Математика Машинобудування Медицина Менеджмент Метали і Зварювання Механіка Мистецтво Музика Населення Освіта Охорона безпеки життя Охорона Праці Педагогіка Політика Право Програмування Промисловість Психологія Радіо Регилия Соціологія Спорт Стандартизація Технології Торгівля Туризм Фізика Фізіологія Філософія Фінанси Хімія Юриспунденкция |
|
|||||||
Впорядковані асоціативні контейнериВпорядковані асоціативні контейнери забезпечують можливість швидкої вибірки об’єктів набору за ключами. Розмір набору об’єктів може змінюватися в процесі виконання програми. У STL визначені такі чотири впорядкованих асоціативних контейнерних типи: · set <Key>: підтримує унікальні ключі та забезпечує швидку вибірку самих ключів; · multiset <Key>: підтримує подвійні ключі та забезпечує швидку вибірку самих ключів; · map <Key, T>: підтримує унікальні ключі (типу Key) та забезпечує швидку вибірку даних типу Т, зв’язаного з ключами; · multimap <Key, T>: підтримує подвійні ключи (типу Key) та забезпечує швидку вибірку даних типу Т, зв’язаного з ключами. Простим прикладом впорядкованого асоціативного контейнера є контейнер map <string, long>, якій можна використовувати, наприклад, для зв’язків між іменами користувачів та їх телефонними номерами(телефонний довідник). Програма з наведеного далі прикладу забезпечує швидкий пошук номера телефону за ім’ям. #include <iostream.h> #include <map.h> #include <bstring.h> int main() { map<string,long,less<string>> directory; directory [«Іванов»]= 1234567; directory [«Петров»]= 9875543; directory [«Сидоров»]= 3459876; //і т.ін. //перегляд введених імен та пошук їх номерів //телефонів string name; while (cin >> name) if (directory.find (name)!= directory.end()) cout <<«номер телефону y»<< name <<«є»<< directory[name]<<«\n»; else cout <<«немає відомостей про телефон <<name<<«\n»; У цій програмі використовується стандартний бібліотечний клас string системи С++ з файлом-заголовком bstring.h (він доступний за Internet разом із початковим кодом STL). Довідник розміщується в об’єкті directory параметричного класу map, настроєного на тип ключа string та тип long, третій параметр шаблона, less<string>, задає операцію зрівняння ключів ( у даному разі вона виконується за лексикографічним принципом). Далі в довідник вводиться кілька прізвищ абонентів та їх номери телефонів, при цьому використовуються оператори присвоювання, подібні до операторів присвоювання значень елементам масиву: directory [«Петров»] = 9875543;. Такі позначення допустимі завдяки тому, що в контейнері map визначена операція operator [], яка аналогічна відповідній операції над масивом: знаючи ім’я (name), можна дістати зв’язаний з ним у довіднику (directory) номер телефону за допомогою операції directory [name]. У програмі спочатку відшукуються значення ключа за допомогою функції-члена find контейнера map (та всіх інших впорядкованих асоціативних контейнерів). Функція find повертає ітератор, який посилається на вхід у таблицю з ключем name, якщо вхід з таким значенням ключа є в таблиці, у противному разі вона повертає значення ітератора, відповідне кінцю таблиці (це значення завжди повертається функцією-членом end).
|
||||||||
|