【C++】Vector排序
1.普通类型(由大到小排序)
int main() { sort(v.begin(),v.end()); }
2.普通类型(由小到大排序)
bool comp(const int &a,const int &b) { return a>b; } int main() { sort(v.begin(),v.end(),comp); }
3.结构体类型
struct student { char name[10]; int score; }; bool comp(const student &a, const student &b) { return a.score < b.score; //由小到大排序 } int main() { vector<student> vectorStudents; sort(vectorStudents.begin(),vectorStudents.end(),comp); }
struct Stu { string 姓名; int 语文成绩; int 数学成绩; int 英语成绩; }; bool comp(const Stu& a, const Stu& b) { return a.数学成绩 > b.数学成绩; //由大到小排序 } void main() { UF_initialize(); vector<Stu> stus; Stu xm; xm.姓名 = "小明"; xm.语文成绩 = 95; xm.数学成绩 = 90; xm.英语成绩 = 91; Stu xh; xh.姓名 = "小红"; xh.语文成绩 = 85; xh.数学成绩 = 99; xh.英语成绩 = 81; Stu xb; xb.姓名 = "小北"; xb.语文成绩 = 75; xb.数学成绩 = 70; xb.英语成绩 = 95; stus.push_back(xm); stus.push_back(xh); stus.push_back(xb); // vector 结构体 排序,根据结构体中的某个元素排序 //输出 print("排序前\n"); for (auto stu : stus) { print(stu.姓名); print(stu.数学成绩); } //按照数学成绩排序 sort(stus.begin(), stus.end(), comp); print("排序后(由大到小排序)\n"); for (auto stu : stus) { print(stu.姓名); print(stu.数学成绩); } UF_terminate(); }
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 地球OL攻略 —— 某应届生求职总结
· 周边上新:园子的第一款马克杯温暖上架
· Open-Sora 2.0 重磅开源!
· 提示词工程——AI应用必不可少的技术
· .NET周刊【3月第1期 2025-03-02】