48 lines
995 B
C++
48 lines
995 B
C++
//
|
|
// Created by lukas on 07.04.19.
|
|
//
|
|
|
|
#ifndef QT5PROJECT_HASHMAP_H
|
|
#define QT5PROJECT_HASHMAP_H
|
|
|
|
|
|
#include <iostream>
|
|
#include <vector>
|
|
|
|
template <class keytype,class valuetype> class Hashmap {
|
|
public:
|
|
void add(keytype key,keytype value);
|
|
keytype getKey(int position);
|
|
valuetype getValue(int position);
|
|
|
|
int size();
|
|
|
|
private:
|
|
std::vector<keytype> keys;
|
|
std::vector<valuetype> values;
|
|
};
|
|
|
|
template<class keytype, class valuetype>
|
|
void Hashmap<keytype, valuetype>::add(keytype key, keytype value) {
|
|
keys.push_back(key);
|
|
values.push_back(value);
|
|
}
|
|
|
|
template<class keytype, class valuetype>
|
|
keytype Hashmap<keytype, valuetype>::getKey(int position) {
|
|
return keys.at(position);
|
|
}
|
|
|
|
template<class keytype, class valuetype>
|
|
valuetype Hashmap<keytype, valuetype>::getValue(int position) {
|
|
return values.at(position);
|
|
}
|
|
|
|
template<class keytype, class valuetype>
|
|
int Hashmap<keytype, valuetype>::size() {
|
|
return keys.size();
|
|
}
|
|
|
|
|
|
#endif //QT5PROJECT_HASHMAP_H
|