#include <iostream>
#include <vector>
#include <algorithm>
class MyData {
public:
int _age;
friend bool operator<(const MyData& left, const MyData& right)
{
return left._age < right._age;
}
};
bool test(const MyData& left, const MyData& right)
{
return left._age < right._age;
}
struct FunTest
{
bool operator()(const MyData& left, const MyData& right)
{
return left._age < right._age;
}
};
int main()
{
int arData[100];
for (int i = 0;i < 100;++i)
{
arData[i] = rand() % 100;
}
//std::sort(arData,arData+100);
std::sort(arData, arData + 100,std::greater<int>());
for (int i = 0;i < 100;++i)
{
std::cout<< arData[i] <<",";
}
std::cout <<std:: endl;
//---------------------------------------------------------------------
std::vector<MyData> vecData;
vecData.reserve(100);
vecData.resize(100);
for (int i = 0;i < 100;i++)
{
MyData data;
data._age = rand()%100;
vecData[i] = data;
// vecData.push_back(data);
}
//std::cout << "size==" << vecData.size()<<std::endl;
/*for (int i = 0;i < 100;i++)
{
std::cout << vecData[i]._age << std::endl;
}*/
// sort 针对线性数据结构
// //std::greater<MyData>()
//std::sort(vecData.begin(),vecData.end(),std::less<MyData>());
//std::sort(vecData.begin(),vecData.end(),test);
std::sort(vecData.begin(), vecData.end(), FunTest());
for (int i = 0;i < 100;i++)
{
std::cout << vecData[i]._age << std::endl;
}
system("pause");
return 0;
}