读书人

stl算法中的排序算法的有关问题

发布时间: 2012-02-20 21:18:24 作者: rapoo

stl算法中的排序算法的问题
bool lessFn(const Data& d1,const Data& d2)
{
if(d1.f_n==d2.f_n)
{
if(d1.w_n==d1.w_n)
{
return d1.g_n<d2.g_n;
}
else
return d1.w_n<d2.w_n;
}
else
return d1.f_n<d2.f_n;
}

这是我的操作函数
然后排序
sort(OpenDeque.begin(),OpenDeque.end(),lessFn);
我的意思就是想先判断如果f_n一样,则再按照w_n来排序,若w_n一样则再按照g_n排序
不知道为什么每次排过之后OpenDeque中的顺序总是不对,还只是先按照f_n排序然后就按照进入队列的顺序了,我就想问一下这样写判断操作了lessFn有没有问题。

[解决办法]
re
不知道,感觉你的函数没有问题。

读书人网 >C++

热点推荐