Вы также можете реализовать семантику std::map
в Си.Только то, что оно не будет template
.
Вот начало:
struct KeyValuePair
{
KeyType key;
ValueType value;
};
struct Map
{
KeyValuePair *list; //it can be linkedlist as well
};
//these are the interfaces which operate on map
void Insert(Map * map, KeyType key, ValueType value);
void Update(Map * map, KeyType key, ValueType value);
int Find(Map * map, KeyType key, ValueType *outValue);
//Implement Get in terms of Find
ValueType Get(Map * map, KeyType key)
{
ValueType value;
Find(map, key, &value);
return value;
}