C++对自定义结构体变量排序
在C++中,如果容器中的數據類型為int double等基本類型時,我們很容易利用STL自帶的函數對其進行排序,但是如果數據類型是我們自定義的結構體或者類呢,這時候再利用STL進行排序就力不從心了。在此我們利用函數對象來實現:
//自定義結構體
typedef struct dataRecord?
{
string playRecord;
double teaCharge;
}dataRecordStruct;
{
return r.teaCharge > s.teaCharge;
}
bool a_less_b(const dataRecordStruct& r,const dataRecordStruct& s)//升序排序
{
return r.teaCharge < s.teaCharge;
}
int main()
{
vector(dataRecordStruct)?dataRecordVec
dataRecordStruct?a1[10];
for (int i = 0;i<10; i++)
{
dataRecordVec.push_back(a[i]);
}
sort(dataRecordVec.begin(), dataRecordVec.end() ,a_greater_b); //升序排列
sort(dataRecordVec.begin(), dataRecordVec.end() ,a_less_b); //降序排列
return 0;
}
總結
以上是生活随笔為你收集整理的C++对自定义结构体变量排序的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: C++ 标准输入输出流
- 下一篇: lua 元表/元方法