![](/img/trans.png)
[英]Hash Table implementation in C++ - How to return a key with a particular value
[英]Hash table where key is string and value is function in c++
是否有可能有一个hash实现,其中key是String
,value是function
。 对于后台,我有一个程序,其中有很多字符串比较,即
if(strcasecmp(s,"london")==0)
functionA();
else if(strcasecmp(s,"moscow")==0)
functionB();
else if(strcasecmp(s,"delhi")==0)
functionC();
...
等等。
但是这种实现非常昂贵(theta(n))
,因为对所有if语句进行了String
比较。 如果我们有一个哈希实现,其中key是String
,value是function
,我们可以调用类似的东西
function = hash.Get("moscow");
function();
它的复杂性很好(theta(log(1)))
。
是否有可能做到这一点?
是否有可能有哈希的实现,其中键是字符串,值是函数?
是。 这是完全可行的。 您可以使用指针函数或std::function
。 可能的容器可能是:
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.