6, 10, 2, 8, 4 - набір; 2, 4, 6, 8, 10 - це набір однакових цілих чисел, розташованих у порядку зростання. У математиці набір має унікальні елементи (різні елементи), тобто жоден елемент не зустрічається більше одного разу. Крім того, мультимножина - це набір, де будь-який елемент може зустрічатися більше одного разу. 6, 6, 10, 2, 2, 8, 4, 4, 4 - це мультимножина. 2, 2, 4, 4, 4, 6, 6, 8, 10 - це той самий мультимножина, але з елементами, розташованими у порядку зростання. Ця стаття не стосується мультимножин. Він має справу зі структурою даних C ++, що називається, set.
Карта в програмному забезпеченні схожа на масив, але це масив із двома стовпцями замість одного. Перший стовпець має ключі, а другий - значення. Кожен рядок - одна пара, що робить пару ключ / значення. Ключ безпосередньо пов'язаний з його значенням.
Прикладом карти є 'c', 30, 'b', 20, 'd', 30, 'e', 40, 'a', 10. Перша пара ключ / значення, вставлена сюди, є 'c', 3, де 'c' - ключ, а 30 - значення. Ця карта не впорядкована за допомогою ключів. Упорядкування цієї карти за ключами дає 'a', 10, 'b', 20, 'c', 30, 'd', 30, 'e', 40. Зверніть увагу, що можуть бути повторювані значення, але не дубльовані ключі. Впорядкована карта - це карта, упорядкована за допомогою ключів.
Мультимножина - до набору, як мультимапа - до карти. Це означає, що є карти з дублікатами ключів. Прикладом багатокарти є 'a', 10, 'b', 20, 'b', 20, 'c', 30, 'c', 30, 'd ', 30, ' e ', 40. І як вже було сказано вище, ця стаття не стосується мультимап, навпаки, вона стосується структури даних C ++, яка називається map.
У C ++ структура даних - це структура зі властивостями (члени даних) та методами (функції-члени). Дані структури - це список; набір - це список; карта - це список пар ключ / значення.
У цій статті розглядаються основи наборів і карт на C ++, і, щоб краще зрозуміти цю статтю, читач повинен був мати базові знання C++.
Зміст статті:
- Клас та його об'єкти
- Створення набору або карти
- Основи ітератора
- Доступ до елемента для набору та карти
- Порядок елементів у наборі або на карті
- Інші часто використовувані функції членів
- Висновок
Клас та його об'єкти:
У C ++ набір, карта та інші подібні структури називаються контейнерами. Клас - це узагальнена одиниця з членами даних, які є змінними, та пов'язаними між собою функціями-членами. Коли членам даних надаються значення, формується об'єкт. Однак об'єкт формується в процесі, який називається екземпляром. Оскільки клас може призводити до різних значень для одних і тих самих змінних-членів даних, тоді різні об'єкти можуть створюватися з одного і того ж класу.
У C ++ непридатний набір - це клас, а також непридатна карта. Коли об'єкт інстанціюється з непридатного набору або непридатної карти, об'єкт стає реальною структурою даних. У структурі даних набору та карти основним елементом даних є список. Ну, набір і карта утворюють групу контейнерів, що називаються упорядкованими асоціативними контейнерами. Невпорядкований набір і невпорядкована карта також існують, але, на жаль, у цій статті не розглядаються.
Створення набору або карти:
Примірник набору з його класу наборів - це створення набору; інстанціювання карти з її класу карт створює карту. Створеному таким чином об'єкту надається ім'я на вибір програміста.
Для того, щоб створити набір, програма повинна починатися з:
#включати
#включати
використання простору імен std; Зверніть увагу на директиву “#include ”, Що включає бібліотеку наборів, що має клас набору, з якого буде створено екземпляр набору структур даних.
Для того, щоб створити карту, програма повинна починатися з:
#включати
#включати