我是C ++的新手,我真的很挣扎:我想组织我的第二部分:
set< pair <pair<int, int>, double > > map
int N_t = 10, N_r = 10;
for (unsigned int i_t = 0; i_t < N_t; i_t++ )
{
for(unsigned int i_r = 0; i_r < N_r; i_r++ )
{
Double_t dR = i_t*i_r ;
map.insert( make_pair(make_pair(i_r, i_t) ,dR));
}
}
我想组织第二部分。我试过这个,我不知道怎么做:
sort(map.begin(), map.end(), [](const pair<pair<int,int> &x, double>,const pair<pair<int,int>, double> &y)
{
return x.second < y.second;
});
谢谢!
答案 0 :(得分:2)
如果您希望根据对中的.second
元素进行排序,那么为什么不将double
放在pair<int,int>
前面呢?按顺序对第一个元素和第二个元素进行排序,而不是
set< pair <pair<int, int>, double > > map
您可以使用
set< pair <double, pair<int, int> > > map
另外我建议不要使用关键字作为变量名(map
是C ++中的内置数据结构)
答案 1 :(得分:0)
谢谢Benson!我只是意识到我必须构建一个比较
的结构try:
webbrowser.open("file://" + os.path.realpath(path))
except webbrowser.Error:
print "Something went wrong when opening webbrowser"
感谢您的建议!