我的班上有这张地图:
buffer[0]='s'
buffer[1]='e'
buffer[2]='e'
buffer[3]='\0'
我已经将矢量复制到另一个临时的矢量,我想根据该对中的第一个值进行排序。如果在对中有两个具有相同第一个值的元素,我想通过它们在原始向量中的位置来确定位置。但是,如果我想查看原始向量,静态向量排序函数将不允许我这样做。你能告诉我怎么做吗? 感谢
代码:
map<string,vector<pair<string,int>>> assessedTest__name_result;
答案 0 :(得分:3)
std :: stable_sort就是答案
std::stable_sort(tmpVec.begin(),tmpVec.end())
如果您有自己的比较函数vecIdSort
,请执行此操作
std::stable_sort (tmpVec.begin(),tmpVec.end(),vecIdSort);
答案 1 :(得分:-2)
我使用了lambda函数,但它确实有效。