Academic Integrity: tutoring, explanations, and feedback — we don’t complete graded work or submit on a student’s behalf.

Q)Write a C++ function void store(int key,int value) in a class such that the ve

ID: 3733866 • Letter: Q

Question

Q)Write a C++ function void store(int key,int value) in a class such that the vector keys stores a key in each of its index's and the vector values contains a list of values associated with that key in each of its index's .

#include <list>

#include <vector>

class A
{

public:

void store (int key,int value)

{

// Define function here.

}

private:

vector keys;

vector <list<int>> values; // This is a vector that contains a list of type of int<> in each index.

}

When we call

store(2,5) and store (2,7) in int main(), vector keys should have the value 2 in its first index and the first index of the vector values should contain a list that contains 5 and 7.

Explanation / Answer

#include <iostream>

using namespace std;

#include <list>
#include <vector>
class A {
public:
    void store(int key, int value)
    {
       int ind = -1;
        for(int i = 0; i < keys.size(); ++i) {
           if(keys[i] == key) {
               ind = i;
               break;
           }
       }
       if(ind == -1) {
           ind = keys.size();
           keys.push_back(key);
           list<int> l;
           values.push_back(l);
       }
       values[ind].push_back(value);
    }
private:
    vector<int> keys;
    vector<list<int> > values; // This is a vector that contains a list of type of int<> in each index.
};

int main() {
   A a;
   a.store(2,5);
   a.store(2,7);
   return 0;
}