C++中,将map中的value存放在vector中进行排序之后,那么怎样取到相应的key值并顺序输出呢?

如题所述

第1个回答  2013-03-06
把值定义为一个结构体,包括你原本的值元素,还有键的值, 这样当你要按照值排序的时候,把map的值也就是结构体放进vector中,剩下的按照你原来的值进行排序就行了
第2个回答  2011-12-23
你可以将map里的键值对作为vector的一个元素然后根据这个排序,自然key就好了啊追问

map map_;
Vector.push_back(什么)才算是存入键值对呢?
vector vector_;求解

追答

你map是怎么插入数据的?不是插入的pair对象吗?或者是value_type对象?

本回答被提问者采纳

C++中,将map中的value存放在vector中进行排序之后,那么怎样取到相应的...
\/\/1、例如,map<int, vector<int>> mapvalue; vector 中的值已经排好序 map<int, vector<int>> mapvalue; map<int, vector<int>>::iterator itermap=mapvalue.begin; if(itermap!=mapvalue.end) { \/\/这里只输出map中第一个值,如果要输出所有的可以在最后加上 itermap++;然...

C++中,将map中的value存放在vector中进行排序之后,那么怎样取到相应的...
把值定义为一个结构体,包括你原本的值元素,还有键的值, 这样当你要按照值排序的时候,把map的值也就是结构体放进vector中,剩下的按照你原来的值进行排序就行了

C++中map,vector容器的<(小于号)比较算法是否为严格弱序算法?_百度知 ...
首先,两个vector容器之间只有“==”和“!=”两种关系,vector容器内部元素的类型也不一定要重载小于号。不过,如果要对一个vector进行排序的话,那么元素一定要重载小于号,而且是严格弱序。因为sort函数对于A和B来说,如果A<B和B<A同时不成立的话,那么A就等于B。如果在 A != B 时,出现A < ...

STL 容器---关联容器--map<Key,Value>
这意味着在 map 或multimap 中插入元素时将进行排序; 还意味着不像 vector 那样可以使用其他元素替换给定位置的元素,位于 map 中特定位置的元素不能替换为值不同的新元素,这是因为 map 将把新元素同二叉树中的其他元素进行比较,进而将它放在其他位置。优势:map 可以将任何基本类型(包括 STL 容器)...

求高手用c++解决二十四点的问题,具体如下
这个数据结构用在这里正合适,也就是说不用两个HashSet加两个ArrayList解决了,直接存在一个HashMap里面就可以。 具体的做法是:把计算结果存在map的key中,而表达式存在map的value中,问题彻底解决。map中key的查找效率是很高的,同时插入也很快;当找到一个计算结果为24的时候直接根据这个key去寻找相应的value即可得到完美...

c++,可以大概讲一下关于vector、map的作用吗?
deque在效率上不如vector,因此有时候在对deque进行sort的时候,需要先将元素移到vector再进行sort,然后移回来。 4、deque的构造与内存管理 由于deque的设计思想就是由一块块的缓存区连接起来的,因此它的内存管理会比较复杂。插入的时候要考虑是否要跳转缓存区、是否要新建map节点(和vector一样,其实是重新分配一块空间...

C++实习生面试,一般会问到关于STL的什么知识点
5.map,multimap map和multimap将key和value组成的pair作为元素,根据key的排序准则自动将元素排序,map中元素的key不允许重复,multimap可以重复。map<key,value> 因为是排序的,所以map中元素的key不能被修改,只能删除后再添加。key对应的value可以修改。向map中添加的元素的key类型必须重载<操作符用来...

执行查询数据表中的数据使用什么函数
如果range_lookup的值为TRUE,那么table_array第一行的数值必须按升序排列,即从左到右为...-2,-1,0,1,2...A-Z,FALSE,TRUE;否则,函数将无法给出正确的数值。若range_lookup为FALSE,则table_array不必进行排序。LOOKUP函数 LOOKUP函数可以从单行或单列区域(称为“向量”)中查找值,然后返回第...

C++语法高手进
31. typename是标准C 中新引入的关键字,用于template中。32. 两个主要的顺序容器是list和vector,另外一个顺序容器是deque;两个主要的关联容器是map和set。33. 选择顺序容器类型的一些准则:(1)随机访问,vector比list好得多;(2)已知道元素的个数,则vector比list强;(3)如果不只是在容器两端插入和删除元素,则list...

求程序员面试题
都属于Map接口的类,实现了将惟一键映射到特定的值上。 HashMap 类没有分类或者排序。它允许一个 null 键和多个 null 值。 Hashtable 类似于 HashMap,但是不允许 null 键和 null 值。它也比 HashMap 慢,因为它是同步的。 16,Collection 和 Collections的区别。 Collections是个java.util下的类,它包含有...

相似回答
大家正在搜