对结构体中的数组sort
时间: 2024-06-03 15:09:34 浏览: 30
sort排序 结构体题解
()函数的调用方法,可以给出示例代码吗?
当然可以,sort()函数的调用方式为:
sort(数组名, 数组长度, sizeof(数组元素类型), 比较函数名);
比较函数用于比较数组中的元素,判断大小顺序,一般情况下是自己定义的函数。下面是一段示例代码:
#include <stdio.h>
#include <stdlib.h>
typedef struct student {
char name[20];
int age;
}Student;
int cmp(const void *a, const void *b) {
Student *aa = (Student*)a;
Student *bb = (Student*)b;
return aa->age - bb->age;
}
int main() {
Student list[] = {{"Tom", 20}, {"Mary", 18}, {"Jerry", 22}};
int len = sizeof(list) / sizeof(list[0]);
int i;
printf("before sort:\n");
for(i = 0; i < len; i++) {
printf("name: %s, age: %d\n", list[i].name, list[i].age);
}
qsort(list, len, sizeof(Student), cmp);
printf("after sort:\n");
for(i = 0; i < len; i++) {
printf("name: %s, age: %d\n", list[i].name, list[i].age);
}
return 0;
}
希望这能够帮到您!
阅读全文