C++使用sort通过cmp实现对结构体的排序

来源:互联网 发布:知乎 红楼梦 编辑:程序博客网 时间:2024/06/08 08:19
#include <stdio.h>#include<iostream>#include <string.h>#include<stdlib.h>using namespace std;//C语言的qsort与c++语言的sort //由于qsort需要使用指针,而且写法上也没有C++的sort简单,//所以以后使用C++的sort来解决排序问题struct Student{char name[10];char id[10];int score;int r;//排名rank }; //由于使用sort排名需要提供bool cmp()函数,所以下面定义cmp函数bool  cmp(Student a,Student b){if(a.score!=b.score) return a.score>b.score;//从大到小a>b,从小到大a<b else return strcmp(a.name,b.name)<0;//strcmp是string.h头文件下用来比较两个char型字符串的字典序大小,//str1小于str2返回负数 }int main(){//sort(首位元素地址,末尾元素地址加一,cmp) return 0;}