Understanding Associative Containers: Sets and Maps in C++
This guide provides an overview of associative containers in C++, focusing on sets and maps. Sets store unique keys and allow for efficient existence checks, enabling mathematical operations such as union, intersection, and difference. We cover set operations like insertion, erasure, and size determination. Additionally, we explore maps, which pair keys with values, allowing access and manipulation of key-value entries. Learn about their operations, including insertion, deletion, and size checks. This foundational knowledge is essential for effective data management and algorithm development in C++.
Understanding Associative Containers: Sets and Maps in C++
E N D
Presentation Transcript
Associative Containers CIS 237 – Data Structures
Sets • Stores keys • Duplicates not allowed • Simply needs to know if in set • Used to implement the mathematical concept
10 A A 10 5 ! H 34 32 B P 9 i 90 B 77 ; 27 Y 56 Set Examples Set of characters Set of integers Set of counters
Set Operations • s.count() • s.empty() • s.size() • s.find(value) • s.insert(value) • s.erase(value) • s.erase(itr) • s.begin • s.end
Mathematical Set Operations • Union (+) • Intersection (*) • Difference (-)
B 5 A 3 X 9 Maps • Stores key-value pair • map<t1, t2>::value_type entry(keyValue, value) • Entries identified by key • Two templates
Map Operations • map<keyType, dataType> m • map< keyType, dataType>::iterator itr • m.insert(key_value_pair) • m[key] • m.erase(key) • m.erase(itr) • m.size • m.empty • m.begin • m.end