sort对结构体中的数组排序
时间: 2023-11-08 11:09:54 浏览: 249
数组的排序方法-sort(教辅)
好的,排序一个结构体中的数组可以通过自定义比较函数来实现。比较函数的原型应该是这样的:int cmp(const void *a, const void *b),其中a和b分别指向两个需要比较的结构体。比如,如果结构体中有一个名为score的int类型数组,我们可以按照score从小到大的顺序来排序,这个比较函数的实现可以是这样的:
```
int cmp(const void *a, const void *b)
{
return ((struct student*)a)->score - ((struct student*)b)->score;
}
```
其中,struct student就是我们定义的结构体类型。然后,调用qsort函数来排序即可:qsort(stu, 5, sizeof(struct student), cmp)。其中,stu是存放结构体的数组,5表示数组中有5个元素,sizeof(struct student)表示结构体类型的大小。
阅读全文