当插入一条记录后,有简捷方法知道是排第几吗?
7 个解决方案
#1
map的实现是红黑树,排第几是没有意义的。
#2
用find函数来定位数据出现位置,它返回的一个迭代器,当数据出现时,它返回数据所在位置的迭代器,如果map中没有要查找的数据,它返回的迭代器等于end函数返回的迭代器
#3
map中的元素是没有顺序的
#4
使用LinkedHashMap,它可以使map遍历的时候采用原先插入是的顺序。
#5
我就是随机插入的,让它排序。但想知道其中任意一个插入后排第几?
#6
简的方法有,捷的方法无。要么,你换个容器吧,比如自定义的关联型vector。
#7
简洁的方法也是有的,使用distance来获取当前迭代器和begin直接的距离。
只是这样效率不是很高,线性的。
既然用map了就不要想着次序问题了,它们本来就是关联式容器。和次序相关比较大的应用还是用其它容器比较好一些。
只是这样效率不是很高,线性的。
既然用map了就不要想着次序问题了,它们本来就是关联式容器。和次序相关比较大的应用还是用其它容器比较好一些。
#1
map的实现是红黑树,排第几是没有意义的。
#2
用find函数来定位数据出现位置,它返回的一个迭代器,当数据出现时,它返回数据所在位置的迭代器,如果map中没有要查找的数据,它返回的迭代器等于end函数返回的迭代器
#3
map中的元素是没有顺序的
#4
使用LinkedHashMap,它可以使map遍历的时候采用原先插入是的顺序。
#5
我就是随机插入的,让它排序。但想知道其中任意一个插入后排第几?
#6
简的方法有,捷的方法无。要么,你换个容器吧,比如自定义的关联型vector。
#7
简洁的方法也是有的,使用distance来获取当前迭代器和begin直接的距离。
只是这样效率不是很高,线性的。
既然用map了就不要想着次序问题了,它们本来就是关联式容器。和次序相关比较大的应用还是用其它容器比较好一些。
只是这样效率不是很高,线性的。
既然用map了就不要想着次序问题了,它们本来就是关联式容器。和次序相关比较大的应用还是用其它容器比较好一些。