class elem
{
public:
elem();
elem(int aa):a(aa){}
public:
int a;
int getA()
{
return a;
}
};
class elem1
{
public:
elem1();
elem1(int aa):a(aa){}
public:
int a;
int getA()
{
return a;
}
friend bool operator < (const elem1 &e1,const elem1 &e2)//只能重载<
{
return e1.a <e2.a;//大顶堆是<;小顶堆是>
}
};
class Scorer
{
public:
bool operator ()(const elem &e1,const elem &e2)
{
return e1.a<e2.a;
}
};
bool Cmp(const elem &e1,const elem &e2)
{
return e1.a <e2.a;
}
int main()
{
vector<elem> ve;
ve.push_back(elem(5));
ve.push_back(elem(6));
ve.push_back(elem(7));
ve.push_back(elem(1));
ve.push_back(elem(0));
ve.push_back(elem(19));
ve.push_back(elem(60));
ve.push_back(elem(61));
ve.push_back(elem(2));
ve.push_back(elem(68));
ve.push_back(elem(9));
list<elem> le;
le.push_back(elem(5));
le.push_back(elem(6));
le.push_back(elem(7));
le.push_back(elem(1));
le.push_ba
stl中各种容器的自定义比较函数
最新推荐文章于 2024-06-03 23:15:48 发布
本文探讨了STL中包括vector、list等容器如何通过定义自定义比较类进行排序,特别提到priority_queue的特性,其遵循大顶堆原则。
摘要由CSDN通过智能技术生成