hxdm,在c++中使用stl中的sort与priority_queue,自定义比较函数时,
自定义的比较函数为:
static bool comp(int&a,int &b)
{
return a<b;
}那么priority_queue的写法为
priority_queue<int,vector<int>,decltype(&comp)>my_q(comp);而sort的写法为
sort(a.begin(),a.end(), comp);sort不能写为priority_queue这种时为什么啊?
两者的头文件定义分别为:
template <class RandomAccessIterator, class Compare>
void sort (RandomAccessIterator first, RandomAccessIterator last, Compare comp);
template <class T, class Container = vector<T>,
class Compare = less<typename Container::value_type> > class priority_queue;还有如果在Compare中如果是左参数小于右参数返回真,那么所有的stl是不是都是最小的排在前面?