Heyho,
我有一个关于排序对矢量的问题:
std::vector<std::pair<double,Processor*>> baryProc;
Run Code Online (Sandbox Code Playgroud)
这个向量已经填满了对.现在我想根据对中的double值对向量内的对进行排序
例:
假设我在向量内有3对.pair1在前面,第3对在前面.pair2在中间:
pair1(1, proc1)
pair2(3, proc2)
pair3(2.5, proc3)
Run Code Online (Sandbox Code Playgroud)
现在我想根据double值对对进行排序.这样向量内的顺序是:
pair1(1, proc1)
pair3(2.5, proc3)
pair2(3, proc2)
Run Code Online (Sandbox Code Playgroud)
我怎么能这样做?我很困惑.
谢谢您的帮助
我是c ++编程的新手,有一些问题.
我有一套:
std::set<Proc*> finalProc = getFinalProc();
Run Code Online (Sandbox Code Playgroud)
我只是想将这个集合中的所有元素复制到一个列表中.我以为我必须遍历集合并保存列表中的元素?我想我犯了一个重大错误,但我无法找到解决方案:
std::list<Proc*> firstLevel;
for(std::set<Processor*>::iterator it = endProcessors.begin(); it != endProcessors.end(); ++it){
firstLevel.push_back( ???? );
}
Run Code Online (Sandbox Code Playgroud)
想法是push_back所有迭代元素?
谢谢