Qt中的O(1)映射
O(1) mapping in Qt?
如果我有一些名字,比如"jenny"kevin"miki"。。。他们每个人都有一个相应的QWidget来显示他们的信息。有可能从名称到QWidget进行O(1)映射吗?
阿卡,给定一个名字,有可能在恒定时间内获取相应的QWidget吗?
(我正在做一个中央数据显示应用程序,每个人都会反复向我发送一个包含他的姓名和gps位置的包裹。我需要更新他相应的显示小部件。有可能在O(1)时间内完成每次更新吗?)
哈希表在最好的情况下确实有O(1)查找:http://en.wikipedia.org/wiki/Hash_table
如果你想在Qt中做到这一点,你可以试试QHash。http://doc-snapshot.qt-project.org/qt5-5.4/qhash.html
插入值很容易,如:
hash["jenny"] = myWidget;
和查找:
QWidget myWidget = hash["jenny"];
您可以在这里看到Qt容器的算法复杂性:http://doc-snapshot.qt-project.org/qt5-5.4/containers.html#algorithmic-复杂性
相关文章:
- 如何从存储在std::映射中的std::集中删除元素
- 从嵌套在std::映射中的std::列表中删除元素的最佳方式
- 如何在C++中访问有序映射中的键的范围/间隔?
- 使用迭代器替换映射中的常量项的方法
- 单行初始化映射中的C++对象
- 访问映射中的分区向量
- 通过从矢量中获取键和与映射中的键对应的值来创建映射
- 当覆盖映射中的复杂对象键时,旧对象将被删除(C++)
- 如何在c++中修改无序映射中的每个值
- 是否可以访问非线程安全容器内指针指向的值(线程安全映射中的条目)?
- C ++尝试访问映射中的元素会给我一个不匹配的函数调用错误
- 插入到映射中的元素在函数执行后清除
- 删除映射中的指针会导致内存错误
- 有没有办法在不使用循环的情况下非具体地引用映射中的每个值?C++
- 使用双迭代器引用映射中的列表
- MFC 消息映射中的函数地址
- 如果值等于键,则合并映射中的条目
- C++ 使用映射中的参数调用函数
- 以多维数组作为值类型的映射中的文件读取
- C++:使用一对(cpp_int,int)整数作为无序映射中的键(其中cpp_int是boost多精度整数)