定义一个结构体,按照结构体中的第一个元素大小对结构体进行排序
时间: 2023-05-14 09:06:49 浏览: 117
结构体排序
可以使用C语言中的qsort函数来对结构体进行排序,具体代码如下:
```c
#include <stdio.h>
#include <stdlib.h>
struct myStruct {
int first;
char second;
float third;
};
int compare(const void *a, const void *b) {
struct myStruct *structA = (struct myStruct *)a;
struct myStruct *structB = (struct myStruct *)b;
return (structA->first - structB->first);
}
int main() {
struct myStruct arr[3] = {{3, 'a', 1.2}, {1, 'b', 2.3}, {2, 'c', 3.4}};
int i;
qsort(arr, 3, sizeof(struct myStruct), compare);
for (i = 0; i < 3; i++) {
printf("%d %c %.1f\n", arr[i].first, arr[i].second, arr[i].third);
}
return 0;
}
```
这段代码定义了一个结构体myStruct,包含三个元素:一个整型、一个字符型和一个浮点型。然后定义了一个compare函数,用于比较结构体中的第一个元素。最后在main函数中使用qsort函数对结构体数组进行排序,并输出排序后的结果。
阅读全文