unordered_map methods c++ code example

Example 1: hashmap in cpp

#include <unordered_map>
#include <iostream>

int main()
{
    std::unordered_map<std::string, int> age;
    // Insert
    age["Michael"] = 16;
    age.insert(std::pair<std::string, int>{"Bill", 25});
    age.insert({"Chris", 30});

    // Search and change
    age["Michael"] = 18;
    age.at("Chris") = 27;

    // Check if key exists
    std::string query;
    query = "Eric";
    if (age.find(query) == age.end())
    {
        std::cout << query << " is not in the dictionary!" << std::endl;
    }

    // Delete
    query = "Michael";
    if (age.find(query) == age.end())
    {
        std::cout << query << " is not in the dictionary!" << std::endl;
    }
    age.erase(query);
    if (age.find(query) == age.end())
    {
        std::cout << query << " is not in the dictionary!" << std::endl;
    }

    // Iterate
    for (const std::pair<std::string, int>& tup : age)
    {
        std::cout << "Name: " << tup.first << std::endl;
        std::cout << "Age: " << tup.second << std::endl;
    }
}

Example 2: unordered_map c++

#include <bits/stdc++.h>
#include <iostream>
#include <map>
#include <unordered_map>

using namespace std;

int main() {
  	map<char, int> M; //based on balanced binary tree takes O(logn) access time
	unordered_map<char, int> U; //uses hashing and accessing elements takes O(1)
	//U.add(key,value);
  	//U.erase(key,value);
  	
  	//map each letter to their occurance
  	string s = "Sumant Tirkey";
  	for (char c : s) {
  		M[c]++;
	  }
	for (char c : s){
		U[c]++;
	}
  
  return 0;
}

Tags:

Cpp Example