Home>Article>Backend Development> C++ program initialization dictionary

C++ program initialization dictionary

王林
王林 forward
2023-09-09 19:01:03 959browse

C++ program initialization dictionary

C differs from Python in terms of the dictionary with the same name, but it has the same data structure with similar functionality. C supports mapping, which can be used in the STL class std::map. The map object contains a pair of values in each entry, one is the key value and the other is the map value. Key values are used to search for and uniquely identify entries in the map. While mapped values are not necessarily unique, key values must always be unique in the map. Let's take a look at how to use mapping.

First, let's see how to define a mapping data structure in C.

grammar

#include  map  myMap; 

Let’s take an example and see how to do this −

Example

#include  #include  using namespace std; int main() { //initialising the map map  myMap; //inserting two key-value pairs myMap.insert({1, "Hello"}); myMap.insert({2, "World"}); //displaying the key-value pairs for (auto itr = myMap.begin(); itr != myMap.end(); ++itr) { cout << itr->first << " " << itr->second << endl; } return 0; }

Output

1 Hello 2 World

In C, maps (Maps) can be initialized in different ways. The algorithm is very simple.

algorithm

  • Create a map object.

  • Assign a value to an object when it is declared.

Initialize the map using the initialization list

Using an initialization list to initialize a map is the same as initializing an array in C. We just need to assign key-value pairs when declaring the mapping, enclosed in curly braces, in the format {key, value}. The syntax is as follows.

grammar

#include  map  myMap = {{key1, value1}, {key2, value2}};

Example

#include  #include  using namespace std; int main() { //initialising the map map  myMap = {{1, "One"}, {2, "Two"}, {3, "Three"}}; //displaying the key-value pairs for (auto itr = myMap.begin(); itr != myMap.end(); ++itr) { cout << itr->first << " " << itr->second << '\n'; } return 0; }

Output

1 One 2 Two 3 Three

Use assignment operator to initialize mapping

This is similar to assigning a value to a specific index in an array. We didn't mention the index, but put the key values in the map subscript, just like in an array.

grammar

#include  map  myMap; myMap[key1] = value1; 

Example

#include  #include  using namespace std; int main() { //declaring the map map  myMap; myMap[1] = "One"; myMap[2] = "Two"; myMap[3] = "Three"; //displaying the key-value pairs for (auto itr = myMap.begin(); itr != myMap.end(); ++itr) { cout << itr->first << " " << itr->second << '\n'; } return 0; }

Output

1 One 2 Two 3 Three

Initialize a map from another map

It may be necessary to copy a map into another map, so we can initialize a map from another map. We take advantage of the map class's copy constructor by passing the map object to the map's copy constructor at declaration time.

grammar

#include  map  myMap1(myMap2);

Example

#include  #include  using namespace std; int main() { //declaring the map map  myMap; myMap[1] = "One"; myMap[2] = "Two"; myMap[3] = "Three"; //copying using copy constructor map  myMap2(myMap); //displaying the key-value pairs for (auto itr = myMap2.begin(); itr != myMap2.end(); ++itr) { cout << itr->first << " " << itr->second << '\n'; } return 0; }

Output

1 One 2 Two 3 Three

in conclusion

Map in C is an ordered set, that is, the elements in the Map are sorted by key value. This makes it slower compared to other similar data structures such as an unordered map where key-value pairs are not sorted. All operations in the map have logarithmic complexity and are implemented in memory as a red-black tree. However, in practice, mapping is very useful because it provides great flexibility in storing data in a key-value manner. We've discussed all the main ways to initialize a map; while there are many ways to initialize, these are the most intuitive ways to do it.

The above is the detailed content of C++ program initialization dictionary. For more information, please follow other related articles on the PHP Chinese website!

Statement:
This article is reproduced at:tutorialspoint.com. If there is any infringement, please contact admin@php.cn delete