c++/STL/map中怎样获取map中第i个元素
1个回答
展开全部
map将key和value组成的pair作为元素,根据key的排序准则自动将元素排序,map中的存取封装了二叉树,因此map按照自己的算法来进行存取,跟你给元素赋值的顺序无关,无论哪一个先赋值最终的map中数据排列属性都是:m[3]=2;m[6]=7;m[9]=3;m[100]=9;
即按照key的大小进行了排序。m[3]=2;m[6]=7;m[9]=3;m[100]=9情况你说的第三个是m[9]=3,如果m[9]=3;m[100]=9;m[3]=2;m[6]=7;你所谓的第三个元素是不是就是:m[3]=2?
这种情况插入到map后map第三个数据依然是m[3]=3.
map就是为了按照key来进行key-value的查看,可以考虑使用list
将键值对做到一个list中,list是顺序存取的,你取的顺序根据有的存顺序决定。
即按照key的大小进行了排序。m[3]=2;m[6]=7;m[9]=3;m[100]=9情况你说的第三个是m[9]=3,如果m[9]=3;m[100]=9;m[3]=2;m[6]=7;你所谓的第三个元素是不是就是:m[3]=2?
这种情况插入到map后map第三个数据依然是m[3]=3.
map就是为了按照key来进行key-value的查看,可以考虑使用list
将键值对做到一个list中,list是顺序存取的,你取的顺序根据有的存顺序决定。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询