首页 新闻 会员 周边 捐助

如何既保证每一项的顺序,又能快速查找

0
悬赏园豆:20 [已解决问题] 解决于 2016-12-22 19:58

vector能够保证顺序,map能快速查找,但有什么办法既能保证顺序又能快速查找呢?

去冰三分糖的主页 去冰三分糖 | 菜鸟二级 | 园豆:380
提问于:2016-05-27 14:21
< >
分享
最佳答案
0

不知道问的是不是Java,Java里面有linkedHashMap,就是在hash表的基础上维护一个链表,插入hashMap的同时插入到链表中,应该可以满足你的需求,其他语言的话应该也可以自己实现类似的。。

收获园豆:15
_fred | 初学一级 |园豆:129 | 2016-06-20 16:59
其他回答(7)
0

 

std::map 的 key 就是排序的

Launcher | 园豆:45050 (高人七级) | 2016-05-27 14:48
0

你说的东西.叫做"索引".

吴瑞祥 | 园豆:29449 (高人七级) | 2016-05-27 16:03

其实我说的,有序,意思是按照vector的插入顺序,但vector里面找某一项就要一个个遍历查找,所以需要一个容器,既能按照插入顺序排序,又能快速查找,比如根据名称找到某一项

支持(0) 反对(1) 去冰三分糖 | 园豆:380 (菜鸟二级) | 2016-05-30 16:27
0

两者结合在一起用嘛。map<key, index>  数组<index, value>

幻天芒 | 园豆:37205 (高人七级) | 2016-05-27 16:16
0

各取所长

小光 | 园豆:1766 (小虾三级) | 2016-05-30 10:24
0

20 14 9 14 6
17 11 8 3 22
0 4 13 20 16
11 14 8 5 0后面会是什么数

418506400aa | 园豆:202 (菜鸟二级) | 2016-08-11 22:46
0

LinkedHashMap是有序的。。是不是符合你的要求

收获园豆:5
jgig11 | 园豆:338 (菜鸟二级) | 2016-08-15 09:09
0

这种需求场景是很常见的,比如一个大型表格,对指定列排序,又要保持数据更新

LinkedHashMap是很不错的.

HashMap保证能快速查找,LinkedList能保证很快的插入和删除

我自己实现了个类似的东西,模板,性能很高,20w条记录不在话下

dhqcl | 园豆:202 (菜鸟二级) | 2017-09-15 22:10
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册