sort自定义排序实现
1、sort是#include
(1)、数组的起始地址;
(2)、数组的结束地址;
(3)、排序方法;
sort(start, end, complare);
使用时,sort(start, end);complare默认从小到大。
2、实现自定义排序:
eg:
struct stu{
int id;
string name;
int Chinese;
int Math;``
int English;
};
实现按语文成绩大到小排序,如果语文成绩一样则按数学成绩大到小排序,如果数学成绩也一样则按英语成绩大到小排序,如果语数英成绩都一样则按id从小到大排序。
假设当前有一个存放学生数据的数组vector
sort(studentsVec.begin(), students.end(), ([](const stu& A, const stu& B)-> bool <br/>
{
if(A.Chinese == B.Chinese)
{
if(A.Math == B.Math)
{
if(A.English == B.English)
{
return A.id < B.id;
}
else
{
return A.Englisg > B.English;
}
}
else
{
return A.Math > B.Math;
}
}
else
{
return A.Chinese > B.Chinese;
}
}
));