49 lines
1.1 KiB
C++
49 lines
1.1 KiB
C++
template <class KeyType, class DataType>
|
|
|
|
Mapfake<KeyType, DataType>::Mapfake(){}
|
|
|
|
|
|
|
|
|
|
|
|
template <class KeyType, class DataType>
|
|
|
|
int Mapfake<KeyType, DataType>::getSize(){
|
|
|
|
return list.getSize();
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
template <class KeyType, class DataType>
|
|
|
|
DataType Mapfake<KeyType, DataType>::find(KeyType key)
|
|
|
|
{
|
|
|
|
int i=0;
|
|
|
|
if(list.getItem(0)->getKey() == key)
|
|
|
|
return list.getItem(0)->getData();
|
|
|
|
while(!list.isEmpty()) {
|
|
|
|
i++;
|
|
|
|
if(list.getItem(i)->getKey() == key)
|
|
|
|
return list.getItem(i)->getData();
|
|
|
|
}
|
|
|
|
return (DataType)0; // Just to supress compilerwarning
|
|
|
|
}
|
|
|
|
|
|
|
|
template <class KeyType, class DataType>
|
|
|
|
bool Mapfake<KeyType, DataType>::exist(KeyType key)
|
|
|
|
{
|
|
|
|
for(int i=0 ; i<list.getSize() ; i++) {
|
|
|
|
if(list.getItem(i)->getKey() == key)
|
|
|
|
return true;
|
|
|
|
}
|
|
|
|
return false;
|
|
|
|
}
|
|
|
|
|
|
|
|
template <class KeyType, class DataType>
|
|
|
|
bool Mapfake<KeyType, DataType>::add(KeyType key, DataType data)
|
|
|
|
{
|
|
|
|
Tuple *tuple;
|
|
|
|
tuple = new Tuple(key, data);
|
|
|
|
|
|
|
|
if(exist(key))
|
|
|
|
return false;
|
|
|
|
|
|
|
|
list.add(0, tuple);
|
|
|
|
return true;
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|