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 ++ неизползваем набор е клас, както и неизползваема карта. Когато обект е инстанциран от неизползваемия набор или неизползваемата карта, обектът се превръща в реалната структура на данните. Със структурите от данни за набор и карта основният член на данните е списък. Е, комплектът и картата образуват група контейнери, наречени подредени асоциативни контейнери. Неуреден набор и неподредената карта също съществуват, но за съжаление те не са разгледани в тази статия.
Създаване на комплект или карта:
Инсталирането на набор от неговия клас създава набор; инстанцирането на карта от нейния клас на карта създава карта. Така създаденият обект получава име по избор на програмиста.
За да създадете набор, програмата трябва да започне с:
#include
#include
използване на пространство от имена std; Обърнете внимание на директивата „#include ”, Която включва библиотеката на множество, която има класът на набор, от който ще бъдат създадени екземпляри на структури от данни.
За да създадете карта, програмата трябва да започне с:
#include
#include