稀土 2018-05-08
对于priority_queue来说,,比较函数为(如果不是结构体,直接int,优先队列默认的是值越大优先级越大):
struct st
{
string str;
int pr, value,mark ;
bool operator < (const st&a)const
{
if(pr !=a.pr) return pr > a.pr;//值小优先级越大
return mark > a.mark;//值越小优先级大
}
};而对于sort来说
1 #include<iostream>
2 #include<algorithm>
3 using namespace std;
4 int cmp(int a, int b)
5 {
6 return a > b;//从大到小排序
7 }
8 int main()
9 {
10 int a[] = { 2,1,4,3,4,5,1,3 };
11 sort(a, a + 8, cmp);
12 for (int i = 0; i < 8; i++)
13 cout << a[i] << " ";
14 return 0;
15 }greater<int>()//从大到小
less<int>()//从小到大